VBA CreateObject

Fonction CreateObject dans VBA

Les objets sont des concepts très importants dans le codage VBA et la compréhension du fait 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 ont également besoin de définir la référence à ces objets respectifs. Cependant, «Late Binding» n'exige 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 d'initier 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.

Vous pouvez télécharger ce modèle Excel VBA CreateObject ici - Modèle Excel 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 montrant les recherches associées, c'est parce que «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 saisissant 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.

Puisque 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 voyons pas la liste intellisense à un moment donné, 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 «True».

Code:

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

Pour ajouter une diapositive à PPT, définissez le code VBA de la ligne ci-dessous.

Code:

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

Maintenant, exécutez le code manuellement ou via la touche F5 et voyez que l'application «PowerPoint» s'ouvre.

Une fois que l'application PowerPoint est activée à l'aide de la variable «PPT», nous pouvons commencer à accéder à l'application PowerPoint.

Exemple # 2

Nous allons maintenant voir comment lancer une application Excel à l'aide de la fonction CreateObject dans VBA. Déclarez à nouveau la variable comme «Objet».

Code:

 Sub CreateObject_Example2 () Dim ExcelSheet As Object End Sub 

Au moment où nous déclarons la variable comme objet, cela provoque une liaison tardive et nous devons utiliser le mot-clé «Set» pour définir la référence de l'objet requis.

Puisque nous faisons référence à la feuille de calcul Excel de l'application Excel, entrez «Excel.Sheet» entre guillemets.

Code:

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

Une fois la référence de la feuille Excel définie, nous devons la rendre visible pour l'utiliser. Ceci est similaire à la façon dont nous avons rendu l'application PowerPoint visible.

Code:

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

Maintenant, il activera la feuille de calcul Excel.

De même, pour lancer un classeur Excel à partir d'autres produits Microsoft, nous pouvons utiliser le code ci-dessous.

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 ne pouvons pas accéder à la liste intellisense de VBA.