我在将 excel 转换为 csv 文件时遇到问题。我的用例是编写一个宏来将每个工作簿表转换为 csv 文件并将它们压缩到一个文件中。所以我的代码是这样的'OriginalWorkbook.Activate'对于工作表的数量将每个转换成自己的CSV文件
For Counter = SHCOUNT + 1 To Sheets.Count
'Export as CSV to the root folder
Set wks = ActiveWorkbook.Worksheets(Counter)
wks.Copy 'to a new workbook
Set newWks = ActiveSheet
With newWks
fileSaveName = Application.GetSaveAsFilename(newWks.Name, _
fileFilter:="CSV Files (*.csv), *.csv")
'ActiveWorkbook.SaveAs (fileSaveName)
.SaveAs Filename:=fileSaveName, FileFormat:=xlCSV
ZipNAme = newWks.Name
If fileSaveName <> False Then
'newWks.Delete
'MsgBox "Save as " & fileSaveName
End If
.Parent.Close Savechanges:=False
End With
''Add the created CSV file to the ZIP file
Set oapp = CreateObject("Shell.Application")
oapp.Namespace(FolderName).CopyHere fileSaveName
Next Counter
但是现在我遇到了这段代码的问题,我在 excel 中有大约 20 张工作表,每张工作表都会弹出 windows saveas 弹出窗口,我点击了 20 次保存以完成整个工作。
我对 VB 中的编码非常陌生。谁能帮我解决这个问题?我必须在没有任何保存为弹出窗口的情况下继续进行,因为我事先给出了文件名。
谢谢, B1