返回列表 上一主題 發帖

[發問] excel vba 如何將其它程式的視窗移到最上層?

本帖最後由 GBKEE 於 2016-10-29 10:04 編輯

回復 1# eigen

試試看,用活頁簿的預設事件 BeforePrint 事件 在活頁簿 (或者其中某些內容) 列印前發生此事件。

ThisWorkbook 模組程式碼
  1. Option Explicit
  2. Private Sub Workbook_BeforePrint(Cancel As Boolean)
  3.     If Sheet1.Msg Then
  4.         SendKeys "n", False                 'press n 跳到 檔名輸入樓位
  5.         SendKeys Sheet1.Rng.Range("B1") & ".Pdf" & "{ENTER}", False   'key in file name A001.pdf
  6.     End If
  7. End Sub
複製代碼
Sub Print__15k() 所在的模組程式碼
  1. '**'**Sub Print__15k() 如在模組 Sheet1
  2. Option Explicit
  3. Public Rng As Range, Msg As Boolean   '設為 專案可用的共用變數
  4. Sub Print__15k()
  5. '******************************************************************
  6. '在Sheets("月結地址")中,用滑鼠選擇要印列的行,執行此程式,即可套表列印
  7. '******************************************************************
  8.     Dim E As Range
  9.     Sheets("月結地址").Activate
  10.     For Each E In Selection.EntireRow
  11.         Msg = False
  12.         If (E.Range("A1") = 1 Or UCase(E.Range("A1").Value) = "F") Then '排除第一行標頭 及 非準備列印的資料,行首需為1或F
  13.             E.Range("a1") = "Yes"                   '標示 Yes,不同程序標示不一樣
  14.                        If Sheets("月結地址").AutoPDF.Value = False Then
  15.                 Sheets("信封15K").PrintOut              '印列
  16.                 Sheets("信封15K").Activate
  17.             Else
  18.                 Set Rng = E
  19.                 Msg =True
  20.                 Sheets("信封15K").PrintOut Copies:=1, Collate:=True, ActivePrinter:="CutePDF Writer"    '指定cutePDF 列印
  21.             End If
  22.         End If
  23.     Next
  24. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 脾氣嘴巴不好,心地再好也不能算是好人。
返回列表 上一主題