打印通过VBA代码将副本四份复制到单个PDF文件

我有一个Excel的VBA代码在默认打印机上打印四份副本。

我想要的是将这个一式四份作为一个PDF文件保存,即在一个连续的4页PDF文件中的所有四张纸。

代码如下。

 Sub PrintInvoiceQuadtriplicate() Dim i As Integer Dim VList As Variant VList = Array("ORIGINAL FOR RECIPIENT", "DUPLICATE FOR TRANSPORTER", "TRIPLICATE FOR SELLER", "EXTRA COPY") For i = LBound(VList) To UBound(VList) Range("L1") = VList(i) ActiveSheet.PrintOut Next End Sub 

请让我知道如何修改此代码来获取单个PDF文件,而不是单独的页面。

正如Zac所说的,可能与已经回答的这个post重复。

看起来像你必须select您的工作表之前,导出为PDF格式。

 ThisWorkbook.Sheets(Array("Sheet1", "Sheet2")).Select ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ "C:\tempo.pdf", Quality:= xlQualityStandard, IncludeDocProperties:=True, _ IgnorePrintAreas:=False, OpenAfterPublish:=True 

信用@Tim威廉姆斯他的答案。