我正在尝试仅在Excel中进行邮件合并(不使用MS Word)。假设有10条记录,因此下面的代码保存了10个单独的pdf文件,分别为DocNumber1(1页),DocNumber2(1页),DocNumber3(1页)等。
我需要仅保存一个PDF文件的代码,该文件应为10页长(合并的DocNumber1(1页),DocNumber2(1页),DocNumber3(1页)等)。本质上,我只是试图编写代码以将MS Word中可用的邮件合并功能复制到Excel中。我根本不想使用MS Word。
Public Const APPNAME As String = "Elephants R Us"
Option Explicit
Sub PrintForms()
Dim StartRow As Integer
Dim EndRow As Integer
Dim Msg As String
Dim i As Integer
Sheets("Form").Activate
StartRow = Range("StartRow")
EndRow = Range("EndRow")
If StartRow > EndRow Then
Msg = "ERROR" & vbCrLf & "The starting row must be less than the ending row!"
MsgBox Msg, vbCritical, APPNAME
End If
For i = StartRow To EndRow
Range("RowIndex") = i
If Range("Preview") Then
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\" & "DocNumber" & i, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
Else
ActiveSheet.PrintOut
End If
Next i
End Sub