張貼者:2010年5月29日 上午6:28Administrator ExcelHelp
[
已更新 2010年5月29日 上午6:29
]
因工作關係,要把許多檔案裡的每一張工作頁印出來,要人手逐一逐一按到每一張工作表,然後再按列印,費時失事!就算可以先選所有的工作表才列印,但還是蠻麻煩的。
這個小工具很簡單,用了兩個For...Next迴圈,做出「所有」的「所有」的效果。是個不錯的迴圈練習。
由於Workbooks和Worksheets都是物件,所以用 For Each 會比較簡單。
' 列印所有已開啟的工作簿裡的所有工作表 Sub PrintWorkbooks() Dim WB As Object, WS As Object ' Workbooks物件載著所有已打開的工作簿 For Each WB In Workbooks ' Worksheets則載著工作簿WS裡所有工作頁 For Each WS In WB.Worksheets ' 只印出沒有隱藏的工作表,並且不要把自己印出來 ' 我用工作表名稱來識別是否本檔自己 If WS.Name <> "ExcelHelp.net" And WS.Visible Then WS.PrintOut End If Next Next End Sub
' 除了本檔,把所有已開啟的檔案關閉 Sub CloseWorkbooks() Dim WB As Object For Each WB In Workbooks If WB.Sheets(1).Name <> "ExcelHelp.net" Then WB.Close End If Next End Sub
|
|
|
|
|
|
|
 Updating...
Administrator ExcelHelp, 2010年5月29日 上午6:29
|