邮件合并仅在Excel中(无MS Word)

时间:2019-07-02 13:46:55

标签: excel vba mailmerge

我正在尝试仅在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

0 个答案:

没有答案