Настройка имени выходных файлов - PullRequest
0 голосов
/ 01 июня 2018

В настоящее время я использую макрос VBA, который копирует и сохраняет все рабочие листы в рабочей книге как .csv.Макрос, показанный ниже, просто использует имя листа в качестве имени нового файла.

Sub ExportSheetsToCSV()
    Dim xWs As Worksheet
    Dim xcsvFile As String
    For Each xWs In Application.ActiveWorkbook.Worksheets
        xWs.Copy
        xcsvFile = CurDir & "\" & xWs.Name & ".csv"
        Application.ActiveWorkbook.SaveAs Filename:=xcsvFile, _
        FileFormat:=xlCSV, CreateBackup:=False
        Application.ActiveWorkbook.Saved = True
        Application.ActiveWorkbook.Close
    Next
End Sub

Мой вопрос: как мне добавить в начало только часть имени книги?Спасибо

1 Ответ

0 голосов
/ 01 июня 2018

Например (не проверено)

Sub ExportSheetsToCSV()
    Dim xWs As Worksheet, wb As Workbook, wbCopy As Workbook
    Dim xcsvFile As String

    Set wb = Application.ActiveWorkbook

    For Each xWs In wb.Worksheets

        xWs.Copy
        Set wbCopy = Application.ActiveWorkbook
        'include the first 4 characters from the workbook name
        xcsvFile = CurDir & "\" & Left(wb.Name, 4) & "_" & xWs.Name & ".csv"
        wbCopy.SaveAs Filename:=xcsvFile, FileFormat:=xlCSV, _
                      CreateBackup:=False

        wbCopy.Close False 'no save...
    Next
End Sub
...