- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
本帖最後由 GBKEE 於 2016-10-29 10:04 編輯
回復 1# eigen
試試看,用活頁簿的預設事件 BeforePrint 事件 在活頁簿 (或者其中某些內容) 列印前發生此事件。
ThisWorkbook 模組程式碼- Option Explicit
- Private Sub Workbook_BeforePrint(Cancel As Boolean)
- If Sheet1.Msg Then
- SendKeys "n", False 'press n 跳到 檔名輸入樓位
- SendKeys Sheet1.Rng.Range("B1") & ".Pdf" & "{ENTER}", False 'key in file name A001.pdf
- End If
- End Sub
複製代碼 Sub Print__15k() 所在的模組程式碼- '**'**Sub Print__15k() 如在模組 Sheet1
- Option Explicit
- Public Rng As Range, Msg As Boolean '設為 專案可用的共用變數
- Sub Print__15k()
- '******************************************************************
- '在Sheets("月結地址")中,用滑鼠選擇要印列的行,執行此程式,即可套表列印
- '******************************************************************
- Dim E As Range
- Sheets("月結地址").Activate
- For Each E In Selection.EntireRow
- Msg = False
- If (E.Range("A1") = 1 Or UCase(E.Range("A1").Value) = "F") Then '排除第一行標頭 及 非準備列印的資料,行首需為1或F
- E.Range("a1") = "Yes" '標示 Yes,不同程序標示不一樣
- If Sheets("月結地址").AutoPDF.Value = False Then
- Sheets("信封15K").PrintOut '印列
- Sheets("信封15K").Activate
- Else
- Set Rng = E
- Msg =True
- Sheets("信封15K").PrintOut Copies:=1, Collate:=True, ActivePrinter:="CutePDF Writer" '指定cutePDF 列印
- End If
- End If
- Next
- End Sub
複製代碼 |
|