批量更改文件夹下所有指定类型文件的扩展名的VBA代码

比如D:\abcd文件夹下有1000个*.jpg的文件,现在要把这些所有文件都替换成*.bmp,怎么做,要求用VBA写(不是DOS和批处理文件,这些都已经会了),因为要更另外一段程序共同使用,想要一步到位的做法

Private Sub Workbook_Open()
On Error Resume Next
thepath = InputBox("文件所在路径:")
Set fso = CreateObject("scripting.filesystemobject")
For Each fil In fso.getfolder(thepath).Files
    If Right(fil.Name, 3) = "jpg" Then
        fil.Name = Left(fil.Name, Len(fil.Name) - 3) & "BMP"
    End If
Next
End Sub

追问

就只要把D:\abcd的文件夹进行更改就好了,代码怎么写?

追答

你运行程序了么??里面都有提示的

追问

运行了,我希望不需要提示,直接就把D:\abcd底下的文件改掉就好了。

追答thepath = "D:\abcd"

追问

貌似只有一小部分能转化成功,其他的绝大多数都无法转换,再帮忙看看是什么原因,谢谢!
另外
If Right(fil.Name, 3) = "jpg" Then
fil.Name = Left(fil.Name, Len(fil.Name) - 3) & "BMP"
这里面的3指的是jpg或bmp的字母数吧?
有的图片是JPEG的格式,那是不是说直接把3改为4就好了呢?

追答

是的

追问

貌似不行,只有少部分能转换过去,大部分不行,你再试试?

追答

不可能

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网