Дополнительно
Сохранение рабочего листа excel в файлы CSV с именем файла+имя рабочего листа с помощью VB
Я очень новичок в кодировании на VB, я пытаюсь сохранить несколько рабочих листов файла excel в csv, я не знаю, как это сделать для нескольких листов, но я нашел способ сделать это для одного файла. Я нашел код на этом сайте, который очень полезен для того, что я пытаюсь сделать, только проблема в том, что файлы сохраняются с именем рабочего листа, но я пытаюсь сохранить их с оригинальным именем файла и рабочего листа, например filename_worksheet name
, я пытался сделать это сам, но продолжаю получать ошибку, не могли бы вы подсказать, что я делаю неправильно?
Код, который я использую, выглядит следующим образом:
Public Sub SaveWorksheetsAsCsv()
Dim WS As Excel.Worksheet
Dim SaveToDirectory As String
Dim CurrentWorkbook As String
Dim CurrentFormat As Long
CurrentWorkbook = ThisWorkbook.FullName
CurrentFormat = ThisWorkbook.FileFormat
' Store current details for the workbook
SaveToDirectory = "H:\test\"
For Each WS In ThisWorkbook.Worksheets
WS.SaveAs SaveToDirectory & WS.Name, xlCSV
Next
Application.DisplayAlerts = False
ThisWorkbook.SaveAs Filename:=CurrentWorkbook, FileFormat:=CurrentFormat
Application.DisplayAlerts = True
' Temporarily turn alerts off to prevent the user being prompted
' about overwriting the original file.
End Sub
25
3
Я думаю, это то, что вам нужно...
Это то, что вы пытаетесь сделать?
Лучший способ узнать это - записать макрос, выполнить точные шаги и посмотреть, какой код VBA он генерирует. Затем вы можете пойти и заменить те части, которые вы хотите сделать общими (например, имена файлов и прочее).