私は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