打开工作簿时运行过程(Microsoft Excel)
每当打开特定的工作簿时,您都可以使Excel自动运行一个过程。例如,当打开工作簿时,您可能需要运行一个过程,询问用户是否要执行某些任务,例如将前一天的数据保存到另一个文件中。
实际上,在打开工作簿时,Excel提供了两种不同的方式来运行过程。在这两种情况下,您所需要做的就是为宏提供一个特殊的名称。这是告诉Excel打开时要运行该过程的线索。如果需要,可以将过程命名为Auto_Open并将其放置在常规宏模块中。您还可以在ThisWorkbook对象中定义一个名为Workbook_Open的过程。
例如,请考虑以下代码:
Sub Auto_Open() Dim sMsg As String Dim iBoxType As Integer Dim iUpdate As Integer Dim sDefault As String Dim sOldFile As String Dim iStatusState As Integer sMsg = "Do you want to save yesterday's transactions?" iBoxType = vbYesNo + vbQuestion iUpdate = MsgBox(sMsg, iBoxType, "Automatic Backup") If iUpdate = vbYes Then sMsg = "Which filename would you like use?" sDefault = "OLD.DAT" sOldFile = InputBox(sMsg, "Automatic Backup", sDefault) iStatusState = Application.DisplayStatusBar Application.DisplayStatusBar = True Application.StatusBar = "Updating past months..." UpdateYesterday(sOldFile) Application.StatusBar = False Application.DisplayStatusBar = iStatusState End If End Sub
(请记住,此过程是一个示例;由于调用了称为UpdateYesterday的函数,该函数会进行实际的更新,因此无法在您的系统上正常运行。)
只要打开了它所连接的工作簿,该宏就会自动运行。您还可以修改代码并将其放置在ThisWorkbook对象中,只需将第一行更改为:
Private Sub Workbook_Open()
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(8451)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。您可以在此处为Excel的较早菜单界面找到此技巧的版本: