在模块的代码框里边输入以下VBA程序,再按【F5键】运行。
Sub ChangeFilesName()
Dim i1, i2, myPath, Na, Str1, Str2, Str3, fs, fo
On Error Resume Next '忽略运行过程中可能出现的错误
Application.DisplayAlerts = False '忽略报警提示
myPath = "H:\桌面文件\112\csv文件转换成Excel格式\" '待修改文件名所在的文件夹
Set fs = CreateObject("Scripting.FileSystemObject") '计算机文件访问
Set fo = fs.GetFolder(myPath) '获取文件夹
For Each fi In fo.Files '扫描文件夹里面的每一个文件
i1 = 0
i2 = 0
Na = fi.Name '获取文件名称
Do
i1 = mypos '寄存上次获取“.”的位置
i2 = i2 + 1
mypos = InStr(mypos + 1, Na, ".") '获取"."存在的位置
If mypos = 0 And i2 <> 1 Then
Str1 = Right(Na, Len(Na) - i1 + 1) '截取后缀名
Str2 = Left(Na, i1 - 1) '截取名称
If Str1 = ".csv" Then '如果是csv格式的文件,则
Workbooks.OpenText Filename:=myPath & Na '打开生成的文件
Str3 = Str2 & ".xlsx" '拼成xlsx的文件名
Workbooks(Na).SaveAs Filename:=myPath & Str3 '文件另存为xlsx的格式
Windows(Str3).Close '文件窗口关闭
End If
Exit Do '退出Do循环
End If
Loop
Next
Application.DisplayAlerts = True '忽略报警提示
End Sub