Ejecución de un procedimiento cuando se abre un libro de trabajo (Microsoft Excel)
Puede hacer que Excel ejecute un procedimiento automáticamente cada vez que se abra un libro en particular. Por ejemplo, cuando se abre el libro de trabajo, es posible que desee ejecutar un procedimiento que pregunte a los usuarios si desean realizar alguna tarea, como guardar los datos del día anterior en otro archivo.
Para ejecutar un procedimiento automáticamente cuando se abre un libro de trabajo, todo lo que necesita hacer es nombrar el procedimiento Auto_Open (). Por lo tanto, el siguiente procedimiento se ejecutará automáticamente cada vez que se abra el libro que lo contiene:
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
(Recuerde que este procedimiento es un ejemplo; no se ejecutará correctamente en su sistema porque llama a una función llamada UpdateYesterday, que realiza la actualización real).
Esta macro se ejecuta automáticamente siempre que se abre el libro al que está adjunta. También puede modificar el código y colocarlo dentro del objeto ThisWorkbook simplemente cambiando la primera línea a esto:
Private Sub Workbook_Open()
Muchas personas consideran el uso de Auto_Open como la «forma antigua» de este tipo de macro y Workbook_Open como la «nueva forma». En cierto sentido eso es cierto; el método Workbook_Open es un enfoque más orientado a objetos para este tipo de macro que Auto_Open. En la práctica, sin embargo, hay muy poca diferencia entre los dos.
_Nota: _
Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.
link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador]
.
ExcelTips es su fuente de formación rentable en Microsoft Excel.
Este consejo (2289) se aplica a Microsoft Excel 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Excel (Excel 2007 y posteriores) aquí:
link: / excelribbon-Running_a_Procedure_when_a_Workbook_is_Opened [Ejecutar un procedimiento cuando se abre un libro]
.