У меня проблема с преобразованием файла excel в csv. Мой вариант использования - написать макрос, чтобы преобразовать каждый лист книги в файл csv и закрепить их до одного файла. мой код выглядит следующим образом «OriginalWorkbook.Activate » Для количества листов преобразующего каждый в свой собственный CSV файлExcel макрос создает файлы 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
Но сейчас я столкнулся проблемы с этим кодом, у меня есть 20 листов в Excel и для каждого листа, всплывающее окно saveas всплывает, и я нажимаю 20 раз, чтобы выполнить все это.
Я очень новичок в кодировании в VB. Может ли кто-нибудь помочь мне с этим? Мне нужно идти вперед без каких-либо всплывающих окон, поскольку я даю имя файла заранее.
Спасибо, B1
Вы получаете всплывающее окно для каждого файла, потому что вы вызываете 'Application.GetSaveAsFilename' внутри цикла! –
есть альтернативный способ? или решение для этого? –