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 determinata 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.
In realtà, Excel offre due modi diversi per eseguire una procedura all’apertura di una cartella di lavoro. In entrambi i casi, tutto ciò che devi fare è fornire un nome speciale per la macro; questo è l’indizio che dice a Excel che vuoi eseguire la procedura all’apertura. È possibile, se lo si desidera, denominare la procedura Auto_Open e inserirla in un normale modulo macro. È inoltre possibile definire una procedura chiamata Workbook_Open all’interno dell’oggetto ThisWorkbook.
Ad esempio, considera il seguente codice:
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
(Ricorda che questa procedura è un esempio; non verrà eseguita 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()
_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 (8451) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 ed Excel in Office 365. Puoi trovare una versione di questo suggerimento per l’interfaccia del menu precedente di Excel qui: