啟動 Excel 時執行巨集

適用
Microsoft Excel 2000 與 2002

若要在每次啟動 Microsoft Excel 時自動執行某些動作,可以錄製或撰寫在每次開啟活頁簿時執行的巨集。執行這項作業的方法有兩種:

  • 錄製巨集,然後用 Auto_Open 的名稱加以儲存。
  • 將巨集寫成 Microsoft Visual Basic® for Applications (VBA) 程序,作為活頁簿的「Open」事件。

錄製 Auto_Open 巨集有幾項限制,在下文中會描述說明。將啟動巨集寫成活頁簿「Open」事件的 VBA 程序,其功能與彈性勝過錄製 Auto_Open 巨集,是建立啟動巨集更好的方法。

 重要事項   若要允許任何巨集在 Excel 2000 或更新的版本執行,安全性等級必須設定為 [中] 或 [低]。若要設定安全性等級,請指向 [工具] 功能表上的 [巨集],然後按一下 [安全性]。如需有關巨集安全性的詳細資訊,請參閱 Excel 程式中的「說明」。

顯示設定活頁簿在啟動 Excel 時自動開啟

不論使用哪一種方法來建立巨集,都需要將巨集儲存在特定活頁簿中。因此若要在每次 Excel 本身啟動時執行巨集,就必須確定活頁簿中已包含啟動 Excel 時自動開啟的巨集。若要執行上述作業,必須將含啟動巨集的活頁簿 (或指向該活頁簿的捷徑) 儲存在 XLStart 資料夾中。XLStart 資料夾的位置依您所使用 Microsoft Windows® 的版本及設定的方式而不同。

Microsoft Windows 95 Microsoft Windows 98

C:\Program Files\Microsoft Office\Office10\XLStart (Office XP)
C:\Program Files\Microsoft Office\Office\XLStart (舊版的 Office)
C:\Windows\Application Data\Microsoft\Excel\XLStart

若已啟用「設定檔」,則到 XLStart 資料夾的路徑改為:

C:\Windows\Profiles\使用者名稱\Application Data\Microsoft\Excel\XLStart

其中的 使用者名稱 代表您用來登入 Windows 的名稱。

Microsoft Windows NT® 4.0

C:\Program Files\Microsoft Office\Office10\XLStart (Microsoft Office XP)
C:\Program Files\Microsoft Office\Office\XLStart (舊版的 Office)
C:\Winnt\Profiles\使用者名稱\Application Data\Microsoft\Excel\Xlstart

其中的 使用者名稱 代表您用來登入 Windows 的名稱。

Microsoft Windows 2000

C:\Program Files\Microsoft Office\Office10\XLStart (Office XP)
C:\Program Files\Microsoft Office\Office\XLStart (舊版的 Office)
C:\Documents and Settings\使用者名稱\Application Data\Microsoft\Excel\XLStart

其中的 使用者名稱 代表您用來登入 Windows 的名稱。

在所有 Windows 版本中也都可以在 [選項] 對話方塊 (按一下 [工具] 功能表的 [選項]) 的 [一般] 索引標籤上,[啟動時,開啟所有檔案於:] 方塊中,自行指定 Excel 啟動檔案的資料夾。

顯示建立 Auto_Open 巨集

如果錄製巨集,然後用「Auto_Open」的名稱儲存,巨集就會在每次開啟含巨集的活頁簿時執行。

  1. 若要將巨集儲存在特定活頁簿中,請先開啟該活頁簿。
  2. 在 [工具] 功能表上,指向 [巨集],然後按一下 [錄製新巨集]。
  3. 在 [巨集名稱] 方塊中輸入 Auto_Open
  4. 在 [將巨集儲存在] 方塊中指定儲存巨集的位置:
    • 若要將巨集儲存在目前活頁簿中,請選擇 [現用活頁簿]。
    • 若要建立新活頁簿而在其中儲存巨集,請選擇 [新的活頁簿]。
    • 若要將巨集儲存在啟動 Excel 時自動載入的隱藏活頁簿中,請選擇 [個人巨集活頁簿]。

 附註    若選擇[個人巨集活頁簿],Excel 會建立並將巨集儲存在稱為 Personal.xls 的隱藏活頁簿中 (若尚未有 Personal.xls 時)。在 Windows 2000 中,Personal.xls 是儲存在 C:\Documents and Settings\使用者名稱\Application Data\Microsoft\Excel\XLStart 資料夾中,每次啟動 Excel 時就會自動載入該檔。若要讓在 Personal.xls 中錄製並儲存的巨集作用於特定活頁簿上時,也必須將該活頁簿儲存在 XLStart 資料夾中,讓它在啟動 Excel 時也同時開啟。

  1. 按一下 [確定],然後執行您要錄製的動作。
  2. 在 [停止錄製] 工具列上按一下 [停止錄製] 按鈕。
  3. 若選擇將巨集儲存在步驟 4 中的 [現用活頁簿] 或 [新的活頁簿] 中,請務必要將該活頁簿儲存或移入 XLStart 資料夾之一。

錄製 Auto_Open 巨集有下列幾項限制:

  • 有許多您想執行的動作可能無法錄製。
  • 若您儲存 Auto_Open 巨集的活頁簿,在其「Open」事件中已有 VBA 程序,該「Open」事件的 VBA 程序就會取代 Auto_Open 巨集中的所有動作。
  • 使用「Open」方法,透過程式來開啟活頁簿時,會忽略 Auto_Open 巨集。
  • Auto_Open 巨集是在開啟任何其他活頁簿前執行。因此,若錄製要 Excel 在預設 Book1 或由 XLStart 資料夾所載入活頁簿上執行的動作,在您重新啟動 Excel 時將無法載入 Auto_Open 巨集,因為它是在開啟預設及啟動活頁簿以前執行的。

當您遇到這些限制時,必須放棄錄製 Auto_Open 巨集,而改用為「Open」事件建立 VBA 程序的方法,本文下節內容將詳細說明。

顯示為活頁簿的 Open 事件建立 VBA 程序

開啟活頁簿時自動執行巨集的另一個方法是:使用 Visual Basic 編輯器在活頁簿的「Open」事件中撰寫 VBA 程序。「Open」事件是內建活頁簿事件,每次開啟活頁簿時即執行其中巨集程式。

下列簡單範例使用「Open」事件,在開啟活頁簿時執行巨集。

  1. 儲存並關閉所有已開啟的活頁簿。
  2. 開啟您要加入巨集的活頁簿,或是建立新的活頁簿。
  3. 在 [工具] 功能表上指向 [巨集],然後按一下 [Visual Basic 編輯器]。
  4. 在 [專案] 視窗中,用滑鼠右鍵按一下 [ThisWorkbook] 物件,然後按一下快顯功能表上的 [檢視程式碼]。
  5. 在 [程式碼] 視窗上面的 [物件] 清單中,選擇 [Workbook]。這樣就可以自動如下為「Open」事件建立空白程序:
Private Sub Workbook_Open()

End Sub
  1. 將下列數行程式碼加入程序中:
Private Sub Workbook_Open()
    MsgBox Date
    Worksheets("Sheet1").Range("A1").Value = Date
End Sub
  1. 切換到 Microsoft Excel,然後儲存活頁簿。
  2. 關閉後重新開啟活頁簿。再次開啟檔案時,Excel 會執行 Workbook_Open 程序,在訊息方塊中顯示今天的日期。
  3. 按一下訊息方塊中的 [確定]。
  4. 注意,執行 Workbook_Open 程序之後,Sheet1 上的 A1 儲存格也會有該日期。

有關編寫 Excel 程式的詳細資訊已超出本文的範圍。如需有關在 Excel 中使用 VBA 程式碼的詳細資訊,請參閱《Microsoft Office 2000/Visual Basic Programmer's Guide》。如需其他有關 Office 應用程式設計的詳細資訊,請參閱 Microsoft Office Developer Center