我使用了電子表格頁面Excel中的教程技巧:郵件合併 - 無Word爲100條記錄創建郵件合併樣式報告。使用記錄索引和來自其他工作表的記錄索引都能很好地生成我需要的報告。郵件合併爲PDF而不是打印
而不是打印,我正在尋找將每個輸出保存爲使用合併中的字段命名的PDF。我試圖用「ActiveSheet.ExportasFixedFormat」替換「ActiveSheet.PrintOut」並輸入了PDF規範。它在一定程度上起作用,因爲我能夠生成PDF到指定位置,但它只會生成一個PDF,而不是我嘗試創建的整個範圍。
這是我正在嘗試使用的代碼。我已經通過其他答案瞭解瞭如何遍歷每條記錄以創建單個PDF,但一次只能生成的不僅僅是單個PDF。
Public Const APPNAME As String = "Progress Report"
Option Explicit
Sub PrintForms()
Dim StartRow As Integer
Dim EndRow As Integer
Dim Msg As String
Dim HRETID As String
Dim i As Integer
Sheets("ProgressReport").Activate
StartRow = Range("StartRow")
EndRow = Range("EndRow")
HRETID = Range("HRETID")
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
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:="C:\Users\ewilliamson\PDFs\" & HRETID, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False
Next i
End Sub
你想去哪裏PDF文件名來自? –
'Filename:=「C:\ Users \ ewilliamson \ PDFs \」&HRETID&i&「.pdf」'至少會給你編號的副本 –
最終,我希望文件名爲「HRETID_Date.pdf」。 「HRETID」字段是基於「當前記錄」索引的另一張工作表的間接查找,並隨範圍中的每一行發生更改。我刪除了HRETID,並使用了「i」變量,它可以生成我需要的pdf,但它們只是按順序編號。如果有一種方法可以包含基於i變量的HRETID並將其包含在文件名中,那麼我將全部設置。謝謝! – Evan