2017-09-15 54 views
1

我有一個VBA代碼用於Excel在默認打印機上打印四份副本。打印通過VBA代碼將副本四份複製到單個PDF文件

我想要的是將這一式四份文件保存爲一個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文件而不是單獨的頁面。

+0

可能的重複。以下應該足夠寫你的代碼:https://stackoverflow.com/questions/14404650/save-multiple-sheets-to-pdf – Zac

+0

@SYED如果我的答案工作,請接受它通過點擊下面的按鈕/投票! – Teasel

回答

1

正如Zac所說,可能與this post重複,已被回答。

好像你必須在導出爲PDF之前選擇你的工作表。

ThisWorkbook.Sheets(Array("Sheet1", "Sheet2")).Select 

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ 
    "C:\tempo.pdf", Quality:= xlQualityStandard, IncludeDocProperties:=True, _ 
    IgnorePrintAreas:=False, OpenAfterPublish:=True 

感謝@Tim Williams的回答。

+0

此解決方案不起作用,因爲在此解決方案中,工作表已定義並出現在工作簿中,而在我的情況下,工作表是由宏逐個生成的,然後一個接一個地發送到打印機。 – SYED

+0

@SYED什麼問題?只需使用每個工作表的名稱而不是活頁 – Teasel

+0

如果我使用工作表名稱替代活動工作表,那麼它也將以PDF形式保存爲單頁,我需要的是我希望將所有這些工作表放在一張連續的4頁PDF表中。 – SYED

相關問題