excel在转换后打开所有csv文件,需要一种方法使它不能打开

时间:2015-05-15 14:55:17

标签: vba excel-vba excel

我有一个将xlsx文件转换为csv格式的代码,它可以很好地工作但是在转换文件之后会打开所有csv文件,因为我有大约1000个时间来关闭所有文件

Sub XlsxToCsv()

Dim MyFileName As String, MyPath As String

Application.ScreenUpdating = False
Application.DisplayAlerts = False

MyPath = "C:\xlsFolder\"

MyFileName = Dir(MyPath & "*.xlsx")

ChDir "C:\csvfolder\"

Do Until MyFileName = ""
    Workbooks.Open Filename:=MyPath & MyFileName
    ActiveWorkbook.SaveAs Filename:=Left(MyFileName, InStr(1, MyFileName, ".xlsx") - 1), FileFormat:=xlCSV, CreateBackup:=False
    MyFileName = Dir
Loop

End Sub

我应该做出哪些更改,以便不打开这些csv文件

1 个答案:

答案 0 :(得分:0)

保存后,只需关闭工作簿即可。

Do Until MyFileName = ""
    Workbooks.Open Filename:=MyPath & MyFileName
    ActiveWorkbook.SaveAs Filename:=Left(MyFileName, InStr(1, MyFileName, ".xlsx") - 1), FileFormat:=xlCSV, CreateBackup:=False
    MyFileName = Dir
    activeworkbook.close true
Loop

把它放在而不是你的。因此它将打开它,将其保存为CSV然后关闭它。