CreaOggetto in VBA - Come utilizzare la funzione CreateObject in VBA?

Funzione CreateObject in VBA

Gli oggetti sono concetti molto importanti nella codifica VBA e comprendere che il modello di lavoro di un oggetto è piuttosto complesso. Quando facciamo riferimento agli oggetti nella codifica VBA, lo facciamo in due modi, ovvero "Early Binding" e "Late Binding". "Early Binding" è il processo di impostazione del riferimento all'oggetto dalla libreria dei riferimenti del VBA, e quando inviamo il file a qualcun altro, richiedono anche di impostare il riferimento a quei rispettivi oggetti. Tuttavia, "Late Binding" non richiede all'utente di impostare alcun riferimento a un oggetto perché, nella codifica del late binding, impostiamo il riferimento al rispettivo oggetto utilizzando la funzione VBA "CreateObject".

Cos'è CreateObject in Excel VBA?

"Crea oggetto", come dice il nome stesso, creerà l'oggetto menzionato da Excel VBA. Pertanto, la funzione Crea oggetto restituisce il riferimento a un oggetto avviato da un componente Active X.

Di seguito è riportata la sintassi della funzione CreateObject in VBA

  • Classe: il nome dell'oggetto che stiamo cercando di avviare e impostare il riferimento alla variabile.
  • (Nome server): questo è un parametro facoltativo; se ignorato, utilizzerà solo la macchina locale.

Esempio di funzione Crea oggetto in Excel VBA

Di seguito sono riportati gli esempi di VBA CreateObject.

Esempio 1

Ora vedremo come avviare l'applicazione PowerPoint da Excel utilizzando la funzione CreateObject in VBA. Apri il file excel e vai alla finestra dell'editor di Visual Basic premendo il tasto ALT + F11 .

Codice:

Sub CreateObject_Example1 () End Sub

Dichiarare la variabile come PowerPoint.Application.

Come puoi vedere sopra, quando iniziamo a digitare la parola "PowerPoint", non vediamo alcun elenco IntelliSense che mostra le ricerche correlate. Questo perché "PowerPoint" è un oggetto esterno. Ma niente di cui preoccuparsi dichiarare la variabile come "Object".

Codice:

Sub CreateObject_Example1 () Dim PPT As Object End Sub

Poiché abbiamo dichiarato la variabile come "Object", dobbiamo impostare il riferimento all'oggetto utilizzando la parola chiave "Set". Inserendo la parola chiave "Set", menzionare la variabile e inserire un segno di uguale.

Codice:

Sub CreateObject_Example1 () Dim PPT As Object Set PPT = End Sub

Ora apri la funzione CreateObject.

Poiché stiamo facendo riferimento all'oggetto esterno di "PowerPoint" per il parametro "Class" della funzione Crea oggetto, menzionare il nome dell'oggetto esterno tra virgolette doppie come "PowerPoint.Application".

Codice:

Sub CreateObject_Example1 () Dim PPT As Object Set PPT = CreateObject ("PowerPoint.Application") End Sub

Ora la funzione Crea oggetto avvierà l'applicazione PowerPoint. Una volta avviato l'oggetto, dobbiamo renderlo visibile utilizzando il nome della variabile.

Uno dei problemi con il metodo Create Object o il metodo di associazione tardiva è che non possiamo vedere l'elenco IntelliSense in quel momento. Devi essere assolutamente sicuro del codice che stai scrivendo.

Per la variabile "PPT", utilizza la proprietà "Visible" e imposta lo stato su "True".

Codice:

Sub CreateObject_Example1 () Dim PPT As Object Set PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True End Sub

Per aggiungere una diapositiva a PPT, definire il codice VBA della riga sottostante.

Codice:

Sub CreateObject_Example1 () Dim PPT As Object Set PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True PPT.Presentations.Add End Sub

Ora esegui il codice manualmente o tramite il tasto F5 e vedi che si apre l'applicazione “PowerPoint”.

Una volta abilitata l'applicazione PowerPoint utilizzando la variabile "PPT", possiamo iniziare ad accedere all'applicazione PowerPoint.

Esempio n. 2

Ora vedremo come avviare un'applicazione Excel utilizzando la funzione CreateObject in VBA. Ancora una volta, dichiara la variabile come "Object".

Codice:

Sub CreateObject_Example2 () Dim ExcelSheet As Object End Sub

The moment we declare the variable as an object, it causes late binding, and we need to use the “Set” keyword to set the reference for the required object.

Since we are referencing to excel worksheet from the application excel, enter “Excel. Sheet” in double-quotes.

Code:

Sub CreateObject_Example2() Dim ExcelSheet As Object Set ExcelSheet = CreateObject("Excel.Sheet") End Sub

Once the reference for the excel sheet is set, we need to make it visible to use it. This is similar to how we made the PowerPoint application visible.

Code:

Sub CreateObject_Example2() Dim ExcelSheet As Object Set ExcelSheet = CreateObject("Excel.Sheet") ExcelSheet.Application.Visible = True End Sub

Now it will activate the excel worksheet.

Similarly, to initiate an excel workbook from other Microsoft products, we can use the below code.

Code:

Sub CreateObject_Example3 () Dim ExlWb As Object Set ExlWb = CreateObject ("Excel.Application") ExlWb.Application.Visible = True End Sub

Cose da ricordare su CreateObject in VBA

  • In VBA, la funzione CreateObject viene utilizzata per fare riferimento agli oggetti.
  • La funzione Crea oggetto causa un processo di associazione tardiva.
  • Utilizzando la funzione crea oggetto, non possiamo accedere all'elenco IntelliSense di VBA.

Articoli interessanti...