0

ここで見つけた他のものに基づいて、次のスクリプトを作成して、必要なことをほぼ正確に実行しました。Excel ファイル内の特定の 4 枚を除くすべてのシートを CSV ファイルにエクスポートし、日付を追加して、日付付きフォルダーに保存します。唯一の問題は、元の処理ファイルでエクスポートしたシートの名前が変更されることです。どうすればこれを修正できますか?

Sub SaveLCPWorksheetsAsCsv()

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 = "C:\test\" & Format(Date - 1, "YYYYMM") & "\"

  If Len(Dir(SaveToDirectory, vbDirectory)) = 0 Then
    MkDir SaveToDirectory
  End If

  For Each WS In ThisWorkbook.Worksheets
    If WS.Name <> "Input" And WS.Name <> "Ref" And WS.Name <> "Total" And WS.Name <> "Affected Accounts" Then
        WS.SaveAs SaveToDirectory & WS.Name & "_" & Format(Date - 1, "YYYYMMDD"), xlCSV
    End If
  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
4

1 に答える 1

0
Sub Tester()

Dim ws As Worksheet, wb As Workbook

    For Each ws In ThisWorkbook.Worksheets
        ws.Copy 'creates a new workbook
        With ActiveWorkbook
            .SaveAs "C:\temp\" & ws.Name & "_blah.csv", xlCSV
            .Close False
        End With
    Next ws

End Sub
于 2013-05-14T23:08:09.820 に答える