Mail Merge только в Excel (без MS Word) - PullRequest
0 голосов
/ 02 июля 2019

Я пытаюсь выполнить слияние только в 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
...