|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2004-10-26, 08:00 AM | #1 |
榮譽會員
|
在Microsoft Office Excel 中實現手動雙面列印
我們知道,Microsoft Word可以很方便的在列印設定中實現手動雙面列印(即,先列印所有奇數頁,再列印所有偶數頁)。
而Microsoft Excel的列印選項裡卻沒有這項功能。 能不能在Microsoft Excel中也實現這項功能呢?答案是肯定的。 筆者利用Microsoft Excel原有的的巨集指令很方便的實現了這項功能。現將經驗與大家一起分享。 啟動Microsoft Excel,按下表單「工具」→「巨集」→「錄製新巨集」,在彈出的錄製新巨集對話視窗中將巨集名改為「手動雙面列印」,並將巨集儲存在「個人巨集工作簙」中,如顯示所顯示 記錄巨集畫面............ 按下確定後,按停止錄製巨集按鈕。再按快捷鍵「Alt+F11」進入Microsoft Visual Basic編輯器。在編輯器中開啟模組1,在我們剛才錄製的手動雙面列印巨集指令中輸入如下程式碼,如所顯示。 vba編輯視窗的程式碼 Sub 手動雙面列印() Dim Pages As Long Dim myBottonNum As Integer Dim myPrompt1 As String Dim myPrompt2 As String myPrompt1 = "在列印時發生錯誤,請檢查你的列印機設定" myPrompt2 = "請將出紙器中已列印好一面的紙取出並將其放回到送紙器中,然後按下""確定"",繼續列印" Pages = ExecuteExcel4Macro("Get.Document(50)") '統計總頁數 On Error Resume Next If (Pages = 0) Then '如果為零,說明沒有可列印內容,結束程序 MsgBox "Microsoft Excel 未發現任何可以列印的內容", 0 + 48 Exit Sub End If If (Pages = 1) Then '判斷是否只有一頁,如果是,只列印第一頁,然後結束 ActiveSheet.PrintOut If Err.Number = 1004 Then MsgBox myPrompt1, 0 + 48 '提示用戶發生列印錯誤 End If Exit Sub End If For i = 1 To Pages Step 2 '設定循環,列印奇數頁 ActiveSheet.PrintOut From:=i, To:=i If Err.Number = 1004 Then MsgBox myPrompt1, 0 + 48 Exit Sub End If Next i myBottonNum = MsgBox(myPrompt2, 1 + 48) '提示用戶取出紙張,驗證後繼續列印 If (myBottonNum = 1) Then For j = 2 To Pages Step 2 '列印偶數頁 ActiveSheet.PrintOut From:=j, To:=j Next j End If End Sub 新增程式碼後接下來我們將在工作列增加按鈕,使按鈕指向我們剛才新增的巨集,這樣當按下按鈕後,就會執行巨集,就像按「列印」按鈕執行列印功能一樣方便 。好了,閒話少說,繼續往下來。 按快捷鍵「Alt+Q」返回到工作表視窗,按下表單「工具」→「自訂」,在彈出的自訂對話視窗中選項「指令」選擇項,在指令選擇項中選項「巨集」→「自訂按鈕」,如顯示所顯示 自定義視窗.... 移到「自訂按鈕」圖示到工作列,右鍵按下「自訂按鈕」圖示,在彈出的對話視窗中將「自訂按鈕(&C)」更名為「手動雙面列印(&C)」,然後再按下「指定巨集」,如所顯示。 在彈出的「指定巨集」對話視窗中選項我們剛才新增的巨集,如圖所顯示,按下確定結束。 至此,所有工作已全部完成,隨便開啟任意工作簙按下剛新增的按鈕試試,程序就會自動先列印所有奇數頁,然後提示你取出紙張,驗證後再列印所有偶數頁,就像在使用Word的手動雙面列印一樣方便。 製作成功後的效果試作。只要按下按鈕,就可以像Word列印設定那樣執行雙面列印工作了! |
送花文章: 3,
|
向 psac 送花的會員:
|
tsai2878 (2011-02-08)
感謝您發表一篇好文章 |