在列印文件到點陣式印表機時, 如果點陣式的紙張為標準大小 (Letter : 21.59mm x 27.94mm), 要正確的把每一頁印在一頁的範圍之內, 這樣連續列印時位置才不會跑掉, 就必須在選擇 [列印], 再調整 [配合紙張調整大小] 選項為 [Letter]. (不可以選擇 [快速列印])
但是每一份文件都要調一次, 那真的會瘋掉, 那就來個 VBA 吧 :)
在每一份文件中, 都放入一段 VBA 程式碼 :
作法一 :
Sub FilePrint()
SendKeys "%zLet{tab}"
Dialogs(wdDialogFilePrint).Show
End Sub
如此, 當按下 [列印] 功能時, 會自動選擇 "Let" 開頭的選項
缺點 :
1. 使用 Ctrl + P 快速鍵此 VBA 無法正確執行, 個人認為是 Hotkey 與 SendKeys 相衝
2. 如果選項 Let 開頭的選項不只一個, 很有可能會選到錯誤的那個
作法二 :
Sub FilePrint()
Dim dlgFilePrint As Dialog
Set dlgFilePrint = Dialogs(wdDialogFilePrint)
dlgFilePrint.PrintZoomPaperWidth = 12240
dlgFilePrint.PrintZoomPaperHeight = 15840
dlgFilePrint.Display
End Sub
wdDialogFilePrint 沒有此選項對應的屬性, 只能用 PrintZoomPaperWidth 與 PrintZoomPaperHeight 來達成
缺點 : 看畫面會覺得沒有設定到, 但是其實是有的
優點 : 不論是按快速鍵或按按鈕都可以正確產出