VBA CreateObject (Créer un objet)

Table des matières

Cet article vous montrera comment utiliser la méthode Create Object dans VBA.

VBA est un langage orienté objet - il utilise des procédures pour contrôler et créer des objets.

Créer un objet

Nous pouvons utiliser la méthode Create Object pour créer un objet dans une application Microsoft Office. Par exemple, si nous écrivons du code VBA dans Excel et souhaitons ouvrir une copie de Word, nous pouvons utiliser la méthode Create Object pour créer une nouvelle instance de Word.

Par exemple:

12345 Sous-CréerInstanceMot()Dim wdApp en tant qu'objetDéfinir wdApp = CreateObject("Word.Application")wdApp.Visible = VraiFin du sous-marin

De même, nous pouvons créer une nouvelle instance de PowerPoint ou Access.

12345 Sous-créer une application PowerPointDim ppApp en tant qu'objetDéfinir ppApp = CreateObject("PowerPoint.Application")ppApp.Visible = VraiFin du sous-marin

Nous pouvons également utiliser Créer un objet pour créer des objets autres que l'objet d'application. Nous pouvons l'utiliser pour créer une feuille Excel par exemple.

1234567 Sous-CreateExcelSheet()Dim xlSheet en tant qu'objetDéfinir xlSheet = CreateObject("Excel.Sheet")xlSheet.Application.Visible = VraixlSheet.Application.Range("A2") = "Bonjour"Définir xlSheet = RienFin du sous-marin

Cependant, cela crée en fait une nouvelle instance d'Excel - cela ne crée pas la feuille dans l'instance qui est déjà ouverte. Pour cette raison, nous devons définir Application de la nouvelle feuille (c'est-à-dire: la nouvelle instance d'Excel) sur Visible afin de voir l'objet.

Dans tous les exemples ci-dessus, nous utilisons la liaison tardive - c'est pourquoi nous déclarons les variables en tant qu'objets. Nous pouvons également utiliser la liaison anticipée en définissant une référence à Word ou PowerPoint dans notre projet VBA, puis en écrivant la sous-procédure comme indiqué ci-dessous. Pour en savoir plus sur la reliure tardive et anticipée, cliquez ici.

Tout d'abord pour Early Binding, au sein du VBE, nous avons défini une référence à Microsoft Word.

Dans le Menu barre, sélectionnez Outils > Références et faites défiler vers le bas pour trouver la référence à la Bibliothèque d'objets Microsoft Word 16.0.

Assurez-vous que la référence est cochée, puis cliquez sur D'ACCORD.

REMARQUE : la version n'est peut-être pas 16.0, tout dépend de la version de Microsoft Office que vous utilisez sur votre PC !

Maintenant, nous déclarons l'objet en utilisant la liaison anticipée - cela signifie qu'au lieu de déclarer le wdApp en tant qu'objet, nous le déclarons en tant que Word.Application. Le reste du code est le même que lorsque nous avons utilisé la liaison tardive ci-dessus.

12345 Sous-CréerInstanceMot()Dim wdApp en tant que nouveau Word.ApplicationDéfinir wdApp = CreateObject("Word.Application")wdApp.Visible = VraiFin du sous-marin

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave