VBA CreateObject

Funzione CreateObject in VBA

Gli oggetti sono concetti molto importanti nella codifica VBA e comprendono che il modello di lavoro di un oggetto è piuttosto complesso. Quando facciamo riferimento agli oggetti nella codifica VBA, lo facciamo in due modi: "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 di 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. Quindi, 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 opzionale, se ignorato utilizzerà solo la macchina locale.

Esempio di funzione Crea oggetto in Excel VBA

Di seguito sono riportati gli esempi di VBA CreateObject.

Puoi scaricare questo modello VBA CreateObject Excel qui - VBA CreateObject Excel Template

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 mostri 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 CreaOggetto.

Poiché stiamo facendo riferimento all'oggetto esterno di "PowerPoint" per il parametro "Classe" 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 nel momento, devi essere assolutamente sicuro del codice che stai scrivendo.

Per la variabile "PPT" utilizzare la proprietà "Visible" e impostare 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. Dichiarare ancora una volta la variabile come "Oggetto".

Codice:

 Sub CreateObject_Example2 () Dim ExcelSheet As Object End Sub 

Nel momento in cui dichiariamo la variabile come oggetto, provoca l'associazione tardiva e dobbiamo usare la parola chiave "Set" per impostare il riferimento per l'oggetto richiesto.

Poiché si fa riferimento al foglio di lavoro Excel dall'applicazione Excel, immettere "Excel.Sheet" tra virgolette doppie.

Codice:

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

Una volta impostato il riferimento per il foglio Excel, dobbiamo renderlo visibile per utilizzarlo. È simile a come abbiamo reso visibile l'applicazione PowerPoint.

Codice:

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

Ora attiverà il foglio di lavoro Excel.

Allo stesso modo per avviare una cartella di lavoro Excel da altri prodotti Microsoft, possiamo utilizzare il codice seguente.

Codice:

 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.
  • Usando la funzione di creazione dell'oggetto non possiamo accedere all'elenco intellisense di VBA.