2015-12-13 54 views
1

如何將所有行(頁)打印並保存到單個文件中,而不必將每行保存爲單個PDF文件。目前下面的代碼將每行數據打印到單個PDF文件中。PrintLoop批量打印文件中的所有數據行

Sub PrintLoop() 
    Dim LR As Long, i As Long 
    Application.ScreenUpdating = False 

    With Sheets("Labels Data File") 
    LR = .Range("A" & Rows.Count).End(xlUp).Row 
    For i = 2 To LR 
     Sheets("Print Labels").Range("A1").Value = .Range("A" & i).Value 
     Sheets("Print Labels").PrintOut 
    Next i 
    End With 
    Application.ScreenUpdating = True 
End Sub: 

enter image description here

[![在這裏輸入的形象描述] [2] [2]

我目前正在打印的第二截屏,而無需手動更改數圈紅並打印單個頁面。我試圖一鍵打印整個文件。

回答

0

編輯

我最好現在明白你的問題,改變了我的答案。我的下面的方法有點破解,可能會大大簡化,但如果你不介意幾個額外的步驟,可以工作。

  1. 運行宏 - (這打印到文件默認爲您的文件夾)

    Sub PrintLoop() 
        Dim LR As Long, i As Long 
        Application.ScreenUpdating = False 
    
        With Sheets("Labels Data File") 
        LR = .Range("A" & Rows.Count).End(xlUp).Row 
        For i = 2 To LR 
         Sheets("Print Labels").Range("A1").Value = .Range("A" & i).Value 
         Sheets("Print Labels").PrintOut Preview:=False, PrintToFile:=True, PrToFileName:="Lable_" & i 
        Next i 
        End With 
        Application.ScreenUpdating = True 
    End Sub 
    
  2. 合併.prn文件到一個打印文件

    • 打開命令提示符
    • 導航到包含.prn文件的文件夾
    • 鍵入:for %i in (*.prn) do if not %i == combinedfile.prn del %i
    copy *.prn combinedfile.prn
  3. 刪除所有.prn文件除了combinedfile.prn

    • 打開命令提示符
    • 導航與.prn文件
    • 類型此文件夾
    • 轉換.prn文件.pdf 嘗試使用Ghost腳本,see this post

步驟2,3 & 4可以在一個批處理腳本設置,一旦你得到它的所有工作。

+0

謝謝你的迴應,但這似乎只拉了一行數據,而不是打印其餘的。所以我所擁有的是一個數據文件「標籤數據文件」,並將所有數據拉到另一個標籤「打印標籤」。我試圖用這些數據填充表單,並將每種數據形式打印在單獨的頁面上,但作爲一個文檔。 – Evan

+0

嗨,對不起,我的措辭不是很好......我在原帖中添加了兩個屏幕截圖。第二個屏幕快照是我想要打印的表單,但此表單正在從第一個屏幕快照「標籤數據文件」中提取數據。目前,我不得不通過輸入數字在其他行上輸入數字,然後打印該單個表單,併爲其他行重複相同的過程。希望這可以讓它變得清晰。 – Evan

+0

沒有問題,任何幫助將不勝感激。 – Evan