Passer directement au contenu principal

Fonction CreateObject

Remarque : Nous faisons de notre mieux pour vous fournir le contenu d’aide le plus récent aussi rapidement que possible dans votre langue. Cette page a été traduite automatiquement et peut donc contenir des erreurs grammaticales ou des imprécisions. Notre objectif est de faire en sorte que ce contenu vous soit utile. Pouvez-vous nous indiquer en bas de page si ces informations vous ont aidé ? Voici l’article en anglais à des fins de référence aisée.

Remarque : La fonction, la méthode, l’objet ou la propriété décrite dans cette rubrique est désactivée si le service d’expressions Microsoft Jet s’exécute en mode sandbox, ce qui empêche l’évaluation d’expressions potentiellement dangereuses. 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 [, NomServeur] )

La syntaxe de la fonction CreateObject comporte les arguments suivants:

Argument

Description

classe

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

nom du serveur

Facultatif. Variant (Chaîne). Nom du serveur réseau sur lequel l’objet est créé. Si ServerName est une chaîne vide (""), l’ordinateur local est utilisé.


La classeargument utilise la syntaxe appname.ObjectType et est composée des éléments suivants:

Partie

Description

nomapp

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

Object

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


Remarques

Toutes les applications qui prennent en charge l’automatisation fournissent au moins un type d’objet. Par exemple, une application de traitement de texte risque de fournir un objet application , un objet document et un objet barre d’outils .

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

Remarque : Les exemples suivants illustrent l’utilisation de cette fonction dans un module Visual Basic pour 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 Rechercher , puis entrez une ou plusieurs conditions 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")

Dans cet exemple, nous allons automatiser un objet de feuille de calcul Excel à partir d’une base de données Access. Ce code démarre l’application créant l’objet, dans le cas présent, une feuille de calcul Microsoft Excel. Une fois qu’un objet est créé, vous devez le référencer dans le code à l’aide de la variable d’objet que vous avez définie. Dans l’exemple suivant, vous accédez aux propriétés et méthodes du nouvel objet à l’aide de la variable objet, de ExcelSheetet d’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

La déclaration d’une variable d’objet avec la clause As Object crée une variable qui peut contenir une référence à tout type d’objet. Toutefois, l’accès à l’objet par le biais de cette variable est une liaison tardive; autrement dit, la liaison se produit lors de l’exécution de votre programme. Pour créer une variable d’objet qui entraîne une liaison initiale, c’est-à-dire une liaison lors de la compilation du programme, déclarez la variable d’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 par le biais d’une variable liée à l’avance peut offrir de meilleures performances, mais ne peut contenir qu’une référence à l' classe spécifiée dans déclaration.

Vous pouvez passer un objet renvoyé par la fonction CreateObject à une fonction qui attend un objet comme argument. Par exemple, le code suivant crée et transmet une référence à un objet Excel. application:

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

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

Remarque :  Pour plus d’informations sur la façon de rendre une application visible sur un ordinateur distant distant, voir documentation COM (voir Microsoft Developer Network). Il est possible que vous deviez ajouter une clé de registre de votre application.

Le code suivant retourne le numéro de version d’une instance d’Excel exécutée 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 au moment de l’exécution se produit.

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

Si un objet s’est inscrit en tant qu’objet à instance unique, une seule instance de l’objet est créée, quel que soit le nombre d’exécutions de CreateObject .

Exemple

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

xlApp

) à Excel. Elle utilise la référence pour accéder à la propriété visible d’Excel, puis utilise la méthode Quit d’Excel pour la 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.
Développez vos compétences dans Office
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.

×