打开工作簿时运行过程(Microsoft Excel)
每当打开特定的工作簿时,您都可以使Excel自动运行一个过程。例如,当打开工作簿时,您可能需要运行一个过程,询问用户是否要执行某些任务,例如将前一天的数据保存到另一个文件中。
为了在打开工作簿时自动运行过程,只需将过程命名为Auto_Open()。因此,只要打开包含它的工作簿,就会自动运行以下过程:
Sub Auto_Open() Dim strMsg As String Dim intBoxType As Integer Dim strTitle As String Dim intUpdate As Integer Dim strDefault As String Dim strOldFile As String Dim intStatusState As Integer strMsg = "Do you want to save yesterday's transactions?" intBoxType = vbYesNo + vbQuestion strTitle = "Automatic Backup Routine" intUpdate = MsgBox(Msg, BoxType, Title) If intUpdate = vbYes Then strMsg = "Which filename would you like use?" strDefault = "OLD.DAT" strOldFile = InputBox(strMsg, strTitle, strDefault) intStatusState = Application.DisplayStatusBar Application.DisplayStatusBar = True Application.StatusBar = "Updating past months..." UpdateYesterday Application.StatusBar = False Application.DisplayStatusBar = intStatusState End If End Sub
(请记住,此过程是一个示例;由于调用了称为UpdateYesterday的函数,该函数无法进行实际更新,因此无法在您的系统上正常运行。)
只要打开了它所连接的工作簿,该宏就会自动运行。您还可以修改代码并将其放置在ThisWorkbook对象中,只需将第一行更改为:
Private Sub Workbook_Open()
许多人认为使用Auto_Open作为此类宏的“旧方法”,而使用Workbook_Open作为“新方法”。从某种意义上说是正确的;与Auto_Open相比,Workbook_Open方法是这种类型的宏更加面向对象的方法。但是实际上,两者之间几乎没有什么区别。
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(2289)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: