VBA 的 Workbooks
物件代表 Excel 目前開啟的活頁簿,如果需要在程式中同時處理多本活頁簿的資料時,就會需要用到它。例如要把活頁簿1
中的第一張工作表的 A1
儲存格內容設定為 Hello
,則執行:
Workbooks("活頁簿1").Worksheets(1).Range("A1").Value = "Hello"
這個用法跟之前工作表與儲存格的操作類似,只是在前面多加了一個 Workbooks
物件來指定活頁簿而已。同樣地 Workbooks
除了用名稱指定之外,也可以使用活頁簿的編號:
Workbooks(1).Worksheets(1).Range("A1").Value = "Hello"
若要查看目前的活頁簿數量,則可使用 Workbooks
的 Count
:
MsgBox Workbooks.Count
活頁簿的名稱可以從 Name
取得:
MsgBox Workbooks(1).Name
如果要開啟活頁簿(開啟 Excel 檔),可以使用 Open
:
Workbooks.Open "C:VBAdemo.xlsx"
若要儲存活頁簿(儲存 Excel 檔),則可使用 Save
:
Workbooks("demo").Save
若要將活頁簿另存新檔,則可使用 SaveAs
:
Workbooks("demo").SaveAs "C:VBAanother.xlsx"
Activate
可以指定當前活頁簿:
Workbooks("demo").Activate
若要關閉活頁簿,則可使用 Close
:
Workbooks("demo").Close
如果要關閉所有的活頁簿,但留下主視窗,則可執行:
Workbooks.Close
若要關閉整個 Excel,可以執行:
Application.Quit
熟練了 Excel VBA 的活頁簿操作技巧之後,我們就可以很容易地開啟很多個 Excel 檔進行各種自動化的動作了。
最後補充一個小技巧,在撰寫完一個副程式(Sub)時,通常都會需要馬上執行,測試看看執行的結果如何。在工具列上有一個執行的按鈕,按下去就可以執行,而這時候如果游標沒有在任何一個副程式之內,那麼在按下執行按鈕時,就會跳出一個選擇視窗,詢問要執行的副程式,這樣會比較浪費時間。
如果想要加入開發的速度、節省時間,可以將滑鼠的游標放在要執行的副程式之內,然後按下執行的按鈕,這樣就可以馬上執行該副程式,在開發程式時會比較有效率。
更多關於 VBA 的教學文章,請參考 VBA 程式設計。