如何用宏把多个EXCEL转化为.CSV格式

2024-12-26 18:57:20
推荐回答(4个)
回答1:

完整的宏代码,请根据你的实际情况,调整xls和csv文件目录位置

Sub XlsToCsv()
Application.ScreenUpdating = False '禁止屏幕刷新
Application.DisplayAlerts = False '禁止弹出文件已存在是否覆盖对话框

Dim strFn, strXls, strCsv As String
strXls = "c:\XLS\" '定义Xls文件存放目录
strCsv = "c:\csv\" '定义csv文件存放目录
strFn = Dir(strXls & "*.xls") '选择Xls文件

开始:

If strFn <> "" Then
Workbooks.Open Filename:=strXls & strFn
ChDir strCsv
ActiveWorkbook.SaveAs Filename:=strCsv & Replace(strFn, ".xls", ""), FileFormat:=xlCSV, CreateBackup:=False
ActiveWorkbook.Close saveChanges:=False
Else
Shell "Explorer.exe " & strCsv, vbNormalFocus '完成后打开转换好了的文件夹
Application.ScreenUpdating = False '恢复屏幕刷新
Application.DisplayAlerts = False '恢复弹出对话框
Exit Sub
End If
ChDir strXls
strFn = Dir()
GoTo 开始

End Sub

回答2:

如果只是改后缀名哪用EXCEL
将这些文件放在一个文件夹中,打开记事本
ren *.xls *.csv
另存为---保存类型选所有文件---文件名随便.bat---保存,将这个bat文件和XLS文件放一个文件夹内
运行它就行了 ,

回答3:

录制宏,记录复制表到一个文件的动作,加上循环。最后把文件改成CSV格式。。。

回答4:

录好宏后,还要加个循环语句才行。