Esecuzione di una procedura all’apertura di una cartella di lavoro (Microsoft Excel)
È possibile fare in modo che Excel esegua automaticamente una procedura ogni volta che viene aperta una particolare cartella di lavoro. Ad esempio, quando la cartella di lavoro viene aperta, potresti voler eseguire una procedura che chiede agli utenti se desiderano eseguire alcune attività, come salvare i dati del giorno precedente in un altro file.
Per eseguire automaticamente una procedura all’apertura di una cartella di lavoro, è sufficiente denominare la procedura Auto_Open (). Pertanto, la seguente procedura verrà eseguita automaticamente ogni volta che viene aperta la cartella di lavoro che la 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
(Ricorda che questa procedura è un esempio; non funzionerà correttamente sul tuo sistema perché chiama una funzione chiamata UpdateYesterday, che esegue l’aggiornamento vero e proprio.)
Questa macro viene eseguita automaticamente ogni volta che viene aperta la cartella di lavoro a cui è collegata. Puoi anche modificare il codice e inserirlo nell’oggetto ThisWorkbook semplicemente cambiando la prima riga in questo:
Private Sub Workbook_Open()
Molte persone considerano l’utilizzo di Auto_Open come “vecchio modo” di questo tipo di macro e Workbook_Open come “nuovo modo”. In un certo senso questo è vero; il metodo Workbook_Open è un approccio più orientato agli oggetti a questo tipo di macro rispetto a Auto_Open. In pratica, tuttavia, c’è pochissima differenza tra i due.
_Nota: _
Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.
ExcelTips è la tua fonte di formazione economica su Microsoft Excel.
Questo suggerimento (2289) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: