Выполнение процедуры при открытии книги (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 как «новым способом». В некотором смысле это правда; Метод Workbook_Open — более объектно-ориентированный подход к этому типу макросов, чем Auto_Open. На практике, однако, между ними очень мало различий.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (2289) применим к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и новее) здесь:
link: / excelribbon-Running_a_Procedure_when_a_Workbook_is_Opened [Запуск процедуры при открытии книги]
.