CreateObject, fonction

Important :  Cet article a été traduit automatiquement, voir l’avertissement. Vous pouvez consulter la version en anglais de cet article ici.

Remarque : Si le Service Microsoft Jet Expression s’exécute en mode sandbox, qui empêche l’évaluation des expressions potentiellement dangereuses de la fonction, une méthode, un objet ou une propriété décrites dans cette rubrique est désactivée. Pour plus d’informations sur le mode sandbox, recherchez « mode sandbox » dans l’aide.

Crée et renvoie une référence à un objet ActiveX.

Syntaxe

CreateObject ( classe [, le nom du serveur] )

La syntaxe de la fonction CreateObject comporte les arguments suivants :

Argument

Description

cours

Obligatoire. Variant (Chaîne). Le nom de l’application et classe de l’objet à créer.

nom du serveur

Facultatif. Variant (Chaîne). Le nom du serveur réseau où l’objet sera créé. Si le nom du serveur est une chaîne vide (« »), l’ordinateur local est utilisé.


La classeargument utilise la syntaxe appname.type d’objet et comprend les éléments suivants :

Élément

Description

appname

Obligatoire. Variant (Chaîne). Le nom de l’application qui fournit l’objet.

type d’objet

Obligatoire. Variant (Chaîne). Type ou classe d’objet à créer.


Notes

Chaque application prenant en charge l’automation fournit au moins un type d’objet. Par exemple, une application de traitement de texte peut fournir un objet Application , d’un objet Document et un objet de la barre d’outils .

Pour créer un objet ActiveX, assignez l’objet renvoyé par la fonction CreateObject à une variable objet:

Remarque : Exemples suivants illustrent l’utilisation de cette fonction dans une Visual Basic pour le module d’Applications (VBA). Pour plus d’informations sur l’utilisation de VBA, sélectionnez Référence du développeur dans la liste déroulante en regard de recherche et entrez un ou plusieurs termes dans la zone de recherche.

' Declare an object variable to hold the object 
' reference. Dim as Object causes late binding.
Dim ExcelSheet As Object
Set ExcelSheet = CreateObject("Excel.Sheet")

Ce code démarre l’application de création de l’objet, dans ce cas, une feuille de calcul Microsoft Office Excel 2007. Lorsqu’un objet est créé, vous y faire référence dans le code à l’aide de la variable objet que vous avez défini. Dans l’exemple suivant, vous accédez propriétés et les méthodes du nouvel objet à l’aide de la variable objet, ExcelSheetet autres objets Excel, notamment l’objet Application et la collection Cells .

' Make Excel visible through the Application object.
ExcelSheet.Application.Visible = True
' Place some text in the first cell of the sheet.
ExcelSheet.Application.Cells(1, 1).Value = "This is column A, row 1"
' Save the sheet to C:\test.xls directory.
ExcelSheet.SaveAs "C:\TEST.XLS"
' Close Excel with the Quit method on the Application object.
ExcelSheet.Application.Quit
' Release the object variable.
Set ExcelSheet = Nothing

Déclaration d’une variable objet avec la clause As Object crée une variable qui peut contenir une référence à n’importe quel type d’objet. Toutefois, accéder à l’objet via cette variable est lié au plus tard ; en d’autres termes, la liaison se produit lorsque votre programme est exécuté. Pour créer une variable objet qui résulte de liaison anticipée, c'est-à-dire, liaison au moment de la compilation du programme, déclarez la variable objet avec un ID de classe spécifique. Par exemple, vous pouvez déclarer et créer les références Excel suivantes :

Dim xlApp As Excel.Application 
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.WorkSheet
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)

La référence à une variable anticipée peut produire de meilleures performances, mais ne peut contenir une référence à la classe spécifié dans le déclaration.

Vous pouvez passer un objet renvoyé par la fonction CreateObject à une fonction qui attend un objet en tant qu’argument. Par exemple, le code suivant crée et passe une référence à un objet Excel.Application :

Call MySub (CreateObject("Excel.Application"))

Vous pouvez créer un objet sur un ordinateur distant du réseau en passant le nom de l’ordinateur à l’argument nom du serveur de la fonction CreateObject. Ce nom est identique à la partie du nom de l’ordinateur d’un nom de partage : pour un partage nommé « \\MyServer\Public », nom du serveur est « MyServer ».

Remarque : Reportez-vous à la documentation COM (voir Microsoft Developer Network) pour plus d’informations sur la création d’une application visible sur un ordinateur distant du réseau. Vous devrez peut-être ajouter une clé de Registre pour votre application.

Le code suivant retourne le numéro de version d’une instance d’Excel s’exécutant sur un ordinateur distant nommé MyServer:

Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application", "MyServer")
Debug.Print xlApp.Version

Si le serveur distant n’existe pas ou n’est pas disponible, une erreur d’exécution se produit.

Remarque : Utilisez la fonction CreateObject lorsqu’il n’y a aucun instance de l’objet. Si une instance de l’objet est déjà en cours d’exécution, une nouvelle instance est lancée et un objet du type spécifié est créé. Pour utiliser l’instance actuelle, ou pour démarrer l’application et lui demander de charger un fichier, utilisez la fonction GetObject .

Si un objet s’est inscrit comme un objet à instance unique, seule une instance de l’objet n’est créée, aucune quel que soit le nombre de fois CreateObject est exécutée.

Exemple

Cet exemple utilise la fonction CreateObject pour définir une (référence)

xlApp

) dans Excel. Il utilise la référence pour accéder à la propriété Visible d’Excel, puis utilise la méthode Excel Quitter pour le fermer. Enfin, la référence elle-même est publiée.

Dim xlApp As Object    ' Declare variable to hold the reference.
Set xlApp = CreateObject("excel.application")
' You may have to set Visible property to True
' if you want to see the application.
xlApp.Visible = True
' Use xlApp to access Microsoft Excel's
' other objects.
xlApp.Quit ' When you finish, use the Quit method to close
Set xlApp = Nothing ' the application, then release the reference.

Remarque : Avertissement traduction automatique : cet article a été traduit par un ordinateur, sans intervention humaine. Microsoft propose cette traduction automatique pour offrir aux personnes ne maîtrisant pas l’anglais l’accès au contenu relatif aux produits, services et technologies Microsoft. Comme cet article a été traduit automatiquement, il risque de contenir des erreurs de grammaire, de syntaxe ou de terminologie.

Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×