CreateObject dans VBA - Comment utiliser la fonction CreateObject dans VBA?

Table des matières

Fonction CreateObject dans VBA

Les objets sont des concepts très importants dans le codage VBA, et comprendre que le modèle de travail d'un objet est assez complexe. Lorsque nous référençons les objets dans le codage VBA, nous le faisons de deux manières, à savoir, «Early Binding» et «Late Binding». «Early Binding» est le processus de définition de la référence d'objet à partir de la bibliothèque de références du VBA, et lorsque nous envoyons le fichier à quelqu'un d'autre, ils doivent également définir la référence à ces objets respectifs. Cependant, «Late Binding» ne nécessite pas que l'utilisateur définisse des références d'objet car, dans le codage de liaison tardive, nous définissons la référence à l'objet respectif en utilisant la fonction VBA «CreateObject».

Qu'est-ce que CreateObject dans Excel VBA?

"Créer un objet" comme son nom l'indique, il créera l'objet mentionné à partir d'Excel VBA. Ainsi, la fonction Créer un objet renvoie la référence à un objet initié par un composant Active X.

Voici la syntaxe de la fonction CreateObject dans VBA

  • Classe: Le nom de l'objet que nous essayons de lancer et de définir la référence à la variable.
  • (Nom du serveur): il s'agit d'un paramètre facultatif; s'il est ignoré, il utilisera uniquement la machine locale.

Exemple de fonction Créer un objet dans Excel VBA

Vous trouverez ci-dessous les exemples de VBA CreateObject.

Exemple 1

Nous allons maintenant voir comment lancer l'application PowerPoint à partir d'Excel à l'aide de la fonction CreateObject dans VBA. Ouvrez le fichier Excel et accédez à la fenêtre Visual Basic Editor en appuyant sur la touche ALT + F11 .

Code:

Sub CreateObject_Example1 () End Sub

Déclarez la variable comme PowerPoint.Application.

Comme vous pouvez le voir ci-dessus, lorsque nous commençons à taper le mot «PowerPoint», nous ne voyons aucune liste IntelliSense affichant les recherches associées. En effet, «PowerPoint» est un objet externe. Mais rien d'inquiétant, déclarez la variable comme «Object».

Code:

Sub CreateObject_Example1 () Dim PPT As Object End Sub

Puisque nous avons déclaré la variable comme «Object», nous devons définir la référence à l'objet en utilisant le mot-clé «Set». En entrant le mot-clé «Set», mentionnez la variable et mettez un signe égal.

Code:

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

Ouvrez maintenant la fonction CreateObject.

Comme nous référençons l'objet externe de «PowerPoint» pour le paramètre «Classe» de la fonction Créer un objet, mentionnez le nom de l'objet externe entre guillemets doubles comme «PowerPoint.Application».

Code:

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

Maintenant, la fonction Créer un objet lancera l'application PowerPoint. Une fois l'objet lancé, nous devons le rendre visible en utilisant le nom de la variable.

L'un des problèmes avec la méthode Create Object ou la méthode de liaison tardive est que nous ne pouvons pas voir la liste IntelliSense à ce moment précis. Vous devez être absolument sûr du code que vous écrivez.

Pour la variable «PPT», utilisez la propriété «Visible» et définissez le statut sur «Vrai».

Code:

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

To add a slide to PPT, define the below line VBA code.

Code:

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

Now execute the code manually or through the F5 key and see the “PowerPoint” application opens up.

Once the PowerPoint application is enabled using the variable “PPT,” we can start accessing the PowerPoint application.

Example #2

Now we will see how to initiate an Excel application using the CreateObject function in VBA. Once again, declare the variable as “Object.”

Code:

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

Choses à retenir à propos de CreateObject dans VBA

  • Dans VBA, la fonction CreateObject est utilisée pour référencer des objets.
  • La fonction Créer un objet provoque un processus de liaison tardive.
  • En utilisant la fonction de création d'objet, nous n'avons pas accès à la liste IntelliSense de VBA.

Articles intéressants...