妙用Microsoft Excel的VBA批量列印工作表
Microsoft Excel是很多辦公一族的常用工具,其強大的功能幾乎能滿足所有有資料處理方面的要求。而其原有的的巨集指令更是能簡化一些資料處理中重複性的工作。
一次筆者要把一批資料的紙張大小由B4紙調整為A4紙,並在列印時縮放成一頁(即一頁寬,一頁高)。由於資料都是由單獨工作簙構成的,對於每一個明細資料,都需要逐個開啟工作簙,設定每一張工作表的頁面設定,然後再列印,工作量很大。然而筆者利用巨集很快便完成了所有的工作。方法如下:
啟動Microsoft Excel,按快捷鍵「Alt+F11」進入Microsoft Visual Basic編輯器。在編輯器中按下表單「插入→模組」,在新增的模組中輸入以下程式碼:
Sub printer()
With Application.FileSearch
.LookIn = "E:\財務決算\變更報表\" '設定文件的搜尋路徑
.FileType = msoFileTypeExcelWorkbooks '設定要搜尋的檔案類型為活頁簿
If .Execute > 0 Then '如果找到一個或多個文件
For i = 1 To .FoundFiles.Count '設定開啟工作簙的循環
Workbooks.Open Filename:=.FoundFiles(i) '開啟找到的每一個工作簙
For j = 1 To Worksheets.Count '設定逐項選項工作表的循環
Worksheets(j).Select '選項工作表
With ActiveSheet.PageSetup '設定當前工作表的頁面設定
.PaperSize = xlPaperA4 '設定紙張大小為A4紙
.Zoom = False
.FitToPagesWide = 1 '設定為1頁寬
.FitToPagesTall = 1 '設定為1頁高
End With
Next j '選項下一張工作表
ActiveWorkbook.PrintOut '列印整個工作簙
ActiveWorkbook.Save '儲存當前工作簙
ActiveWorkbook.Close '關閉當前工作簙
Next i '開啟下一個工作簙
Else
MsgBox "沒有找到任何活頁簿文件" '提示沒有找到任何活頁簿文件
End If
End With
End Sub
輸入程式碼後,按快捷鍵「F5」執行巨集,這時系統就會開啟找到的第一個活頁簿,並依次設定每一張工作表的紙張大小為A4紙張,縮印成一頁寬和一頁高,然後再列印整個工作簙,儲存並結束,接著依次開啟當前目錄下的所有活頁簿,執行相同的工作。
注意,程序所搜尋到的文件僅是當前目錄下的活頁簿,不包括子目錄下的文件。
|