Nwlapcug.com


Come utilizzare gli eventi con l'oggetto Application di Excel

Come utilizzare gli eventi con l'oggetto Application di Excel


Linguaggio di programmazione di Microsoft Excel, Visual Basic for Applications (VBA), fa uso degli oggetti virtuali per estendere le funzionalità di Excel. Uno di questi oggetti è l'oggetto Application, che consente ai programmatori VBA scrivere programmi che incidono l'applicazione di Excel stesso. Eventi di questo oggetto causano subroutine chiamate "funzioni di eventi" da eseguire. Qualsiasi codice di programma che si posiziona in queste funzioni verrà eseguito quando si verifica l'evento (ad es. nuova creazione di cartella di lavoro, selezione del foglio di lavoro) che la funzione è stata scritta per. Uno dei vantaggi della scrittura di codice di questo tipo è la capacità di dati dello schermo come l'utente entra in esso.

Istruzioni

1

Aprire l'ambiente di programmazione VBA di Excel cliccando col tasto destro sulla scheda di qualsiasi foglio di lavoro in una cartella di lavoro aperta, quindi selezionando la voce "Visualizza codice".

2

Fare doppio clic sulla riga "Questa cartella di lavoro" del riquadro "Progetto" per aprire una nuova finestra di codice.

3

Incollare il codice riportato di seguito la prima riga vuota della nuova finestra. Questa subroutine, che verrà eseguito quando si riapre la cartella di lavoro corrente, crea una nuova istanza dell'oggetto Application di Excel. Così facendo, la subroutine rende le funzioni di evento dell'oggetto applicazione disponibile per scrivere programmi per.

ObjApp Private WithEvents come applicazione

Private Sub Workbook_Open)

Set objApp = Application

End Sub

4

Fare clic sull'elenco a discesa a sinistra vicino alla parte superiore della finestra del codice. VBA verrà visualizzato un elenco di oggetti che è possibile scrivere codice per la funzione dell'evento. Uno degli oggetti nell'elenco è la variabile "objApp" è dichiarata e definita nel passaggio precedente. Selezionare l'oggetto.

5

Fare clic sull'elenco a discesa a destra della finestra del codice e selezionare la funzione di evento "NewWorkbook". VBA creerà una funzione di eventi vuota che potrai scrivere codice per.

6

Incollare o digitare il seguente codice di programma sopra istruzione "End Sub" della subroutine "objApp_NewWorkbook".

MsgBox "Hai creato una nuova cartella di lavoro."

7

Premere "Alt-F4" per chiudere l'ambiente VBA e la stessa sequenza di tasti per chiudere Excel. Salvare la cartella di lavoro con qualsiasi nome di file valido e una file con estensione "*. xlsm." Salvare e riaprire la cartella di lavoro viene eseguita la funzione di evento Workbook_Open che hai scritto nel passaggio 3. Questa funzione deve eseguire per consentire a eseguire le funzioni di evento objApp.

8

Riaprire la cartella di lavoro è appena chiuso, quindi premere "Control-N" per creare una nuova cartella di lavoro. Il codice che scritto per la subroutine objApp_NewWorkbook nel passaggio 6 sarà eseguire e visualizzare il messaggio "Hai creato una nuova cartella di lavoro."

9

Premere "Alt-F11" per immettere nuovamente l'ambiente VBA, quindi incollare la seguente funzione di evento nuovo qualsiasi spazio vuoto nella finestra del codice. Questa funzione di evento, che verrà eseguito quando si modifica qualsiasi cella della cartella di lavoro attualmente aperta, sostituisce il testo "J.S." con il testo "John Smith".

Private Sub objApp_SheetChange (ByVal Sh As Object, ByVal Target As Range)

Dim x

x = Target.Value

Se (x = "js") Quindi

x = "John Smith"

Target.Value = x

End If

End Sub

10

Tornare a Excel premendo "Alt-F11", quindi digitare il testo "J.S." in una cella qualsiasi. Quando si preme "Invio", la funzione di evento di objApp_SheetChange che hai scritto nel passaggio precedente sarà eseguire e cambiare "J.S." in "John Smith".