一個最常見的被監控事件是工作簿的Open事件。當工作簿(或加載項)打開時,該事件被觸發,執行Workbook_Open過程。Workbook_Open過程功能非常多,通常用于完成以下任務:
●顯示歡迎信息。
●打開其他工作簿。
●激活特定的工作表。
●確保符合一定的條件。例如,一個工作簿也許需要安裝特殊的加載項。
下面是關于Workbook_Open過程的一個簡單示例。它使用VBA的Weekday函數確定星期幾。如果是星期五,將顯示一個信息框提醒用戶執行文件備份。如果不是星期五,不顯示任何信息。
private Sub Workbook_Open()
If Weekday(Now)=6 Then
Msg="請執行文件備份"
MsgBox Msg, vbInformation
End If
End Sub
遺憾的是,VBA對于Excel2007的功能區束手無策。例如,甚至沒有一種直接的方法去激活一個特定的功能區選項卡。下面的例子使用SendKeys聲明模擬“按鍵”。在該例子中,它發送了快捷鍵Alt+H,該鍵是Excel2007的“鍵提示”,相當于激活功能區的“開始”選項卡。按時鍵從功能區中移出鍵提示字母。
Private Sub Workbook_open()
Application.SendKeys ("%h(F6)")
End Sub
下面的例子是當工作簿打開時,執行一系列的動作。它最大化Excel窗口,最大化工作簿窗口,激活命名為DataEntry的表,并選中A列第一個空的單元格。如果不存在DataEntry工作表,則代碼產生錯誤信息。
private Sub Workbook_Open()
Application.WindowState = xlMaximized
ActiveWindow.windowState = xlMaximized
Worksheets("DataEntry").Activate
Range("A1").End(xlDown).offset(1,O).Select
End Sub