如何在 Word 中,將合併列印的結果以每一筆資料儲存為一個檔案?

在 Word 中的預設值,合併列印可以輸出一整份文件檔,無法一筆記錄儲存為一個檔案。本次,求助於 ChatGPT。

指令:如何將 Word 的合併列印結果,產生每一筆資料以一個檔案儲存。

Word-將合併列印的結果以每一筆資料儲存為一個檔案

複製程式如下:

Sub SaveMergeResultsAsIndividualFiles()
    Dim docMain As Document, docSingle As Document
    Dim i As Long, c As Long
    
    Set docMain = ActiveDocument
    With docMain.MailMerge
        .Destination = wdSendToNewDocument
        .SuppressBlankLines = True
        With .DataSource
            .FirstRecord = wdDefaultFirstRecord
            .LastRecord = wdDefaultLastRecord
            c = .RecordCount
        End With
        For i = 1 To c
            .DataSource.FirstRecord = i
            .DataSource.LastRecord = i
            .Execute False
            Set docSingle = ActiveDocument
            docSingle.SaveAs2 FileName:="FilePathHere" & "\MergeResult_" & i & ".docx"
            docSingle.Close False
        Next i
    End With
End Sub

準備好合併列印的主文件,並右存新檔為「*.docm」格式(巨集指令文件):

Word-將合併列印的結果以每一筆資料儲存為一個檔案

在 Word 的合併列印主文件中完成合併列印的內容,並在「開發人員」功能表中進入 Visual Basic。

在「插入」功能表中選取:模組。並貼上複製而來的程式碼。

將程式碼中的「FilePathHere」置換成你要輸出個別文件的資料夾(本例:V:\Google Downloads\doc)

其中產生的檔案會以「MergeResult_」加上流水號加以命名。

Word-將合併列印的結果以每一筆資料儲存為一個檔案

點選:執行,產生以下結果。

Word-將合併列印的結果以每一筆資料儲存為一個檔案

如果你想要將個別檔案以 PDF 檔格式命名,則可以使用:

指令:如何將Word的合併列印結果,產生每一筆資料以一個檔案儲存,並且儲存的是PDF格式。

得到以下的 VBA 程式,仿前面所述的作法,再操作一之,即可得到 PDF 檔。

Sub SaveMergeResultsAsPDF()
    Dim docMain As Document, docSingle As Document
    Dim i As Long, c As Long
    Dim pdfPath As String
    
    Set docMain = ActiveDocument
    pdfPath = "YourFolderPathHere" ' 更改此路徑到你想儲存PDF文件的文件夾
    
    With docMain.MailMerge
        .Destination = wdSendToNewDocument
        .SuppressBlankLines = True
        With .DataSource
            .FirstRecord = wdDefaultFirstRecord
            .LastRecord = wdDefaultLastRecord
            c = .RecordCount
        End With
        For i = 1 To c
            .DataSource.FirstRecord = i
            .DataSource.LastRecord = i
            .Execute False
            Set docSingle = ActiveDocument
            ' 儲存為PDF
            docSingle.ExportAsFixedFormat OutputFileName:= _
                pdfPath & "\MergeResult_" & i & ".pdf", _
                ExportFormat:=wdExportFormatPDF, _
                OpenAfterExport:=False, _
                OptimizeFor:=wdExportOptimizeForPrint, _
                Range:=wdExportAllDocument, _
                Item:=wdExportDocumentContent, _
                IncludeDocProps:=True, _
                KeepIRM:=True, _
                CreateBookmarks:=wdExportCreateNoBookmarks, _
                DocStructureTags:=True, _
                BitmapMissingFonts:=True, _
                UseISO19005_1:=False
            docSingle.Close False
        Next i
    End With
End Sub
 

學不完.教不停.用不盡文章列表

arrow
arrow
    文章標籤
    Word ChatGPT 合併列印
    全站熱搜

    vincent 發表在 痞客邦 留言(0) 人氣()