OLE programmatic identifiers, late binding, and early binding (Project)

Découvrez comment ajouter un objet Automation à l’aide d’une liaison tardive au moment de l’exécution et comment définir une référence pour une liaison anticipée au moment du design.

Utilisez un identificateur de programmation OLE (parfois appelé ProgID) pour créer un objet Automation pour la liaison au moment de l’exécution. Par exemple, si Project et Word sont installés sur l’ordinateur, la macro suivante dans Project crée un document Word nommé Doc1.docx, puis ouvre la boîte de dialogue Enregistrer sous dans Word.

Sub CreateWordDoc_Late() 
    Dim wdDoc As Object 
 
    Set wdDoc = CreateObject("Word.Document") 
    wdDoc.Save 
End Sub

Note Les objets créés à l’aide du ProgID ont une liaison tardive au moment de l’exécution ; Par conséquent, vous ne pouvez pas voir les membres de l’objet disponibles lorsque vous écrivez du code dans VBE. Les objets à liaison tardive présentent également des performances inférieures à celles des objets créés avec une liaison anticipée au moment du design.

La macro suivante fonctionne mieux et effectue le même travail que la macro CreateWordDoc_Late . La macro CreateWordDoc_Early nécessite l’ajout d’une référence à la bibliothèque d’objets Microsoft Word 15.0. Dans le menu Outils , choisissez Références pour ouvrir la boîte de dialogue Références - Projet VBA .

Sub CreateWordDoc_Early() 
    Dim wdDoc As Word.Document 
 
    Set wdDoc = New Word.Document 
    wdDoc.Save 
End Sub

Voici un exemple d’utilisation d’une liaison anticipée pour créer une feuille de calcul Excel. Définissez une référence à la bibliothèque d’objets Microsoft Excel 15.0.

Sub CreateExcelWorkbook_Early()
    Dim xlApp As Excel.Application
    Dim xlWorkbook As Excel.Workbook
    Dim xlWorksheet As Excel.Worksheet
    
    Set xlApp = Excel.Application
    xlApp.Visible = True
        
    Set xlWorkbook = xlApp.Workbooks.Add
    Set xlWorksheet = xlWorkbook.Worksheets(1)
    
    xlWorksheet.Cells(1, 1).Value = "Data from Project"
    xlWorksheet.SaveAs ("C:\Project\VBA\ProjectWorksheet.xlsx")
    xlWorkbook.Close
    xlApp.Visible = False
End Sub

Pour plus d’informations sur l’utilisation de Project à partir d’une autre application, la liaison tardive et la liaison anticipée, consultez l’objet Application .

Les tableaux suivants répertorient les identificateurs de programmation OLE pour les contrôles ActiveX et plusieurs applications Microsoft Office.

Note Au lieu d’utiliser les valeurs ProgId pour la liaison tardive, nous vous recommandons de définir une référence à la bibliothèque d’objets équivalente et d’utiliser la liaison anticipée.

Contrôles ActiveX

Pour créer les contrôles ActiveX répertoriés dans le tableau suivant, utilisez les identificateurs par programme OLE correspondants. Lorsque vous insérez un formulaire utilisateur, Project définit une référence à Microsoft Forms bibliothèque d’objets 2.0 pour la liaison anticipée.

Pour créer ce contrôle Utilisez l’identificateur
Case à cocher Forms.CheckBox.1
ComboBox Forms.ComboBox.1
CommandButton Forms.CommandButton.1
Cadre Forms.Frame.1
Image Forms.Image.1
Étiquette Forms.Label.1
Listbox Forms.ListBox.1
Multipage Forms.MultiPage.1
OptionButton Forms.OptionButton.1
Scrollbar Forms.ScrollBar.1
SpinButton Forms.SpinButton.1
Tabstrip Forms.TabStrip.1
TextBox Forms.TextBox.1
Togglebutton Forms.ToggleButton.1

Microsoft Access

Pour créer les objets Access répertoriés dans le tableau suivant, utilisez l’un des identificateurs de programmation OLE correspondants. Si vous utilisez un identificateur sans suffixe de numéro de version, vous créez un objet dans la version Access la plus récente qui soit disponible sur l’ordinateur sur lequel la macro s’exécute. Pour une liaison anticipée, définissez une référence à la bibliothèque d’objets Microsoft Access 15.0.

Pour créer cet objet Utilisez l’un des identificateurs suivants
Application Access.Application, Access.Application.15
CurrentData Access.CodeData, Access.CurrentData
CurrentProject Access.CodeProject, Access.CurrentProject
DefaultWebOptions Access.DefaultWebOptions

Microsoft Excel

Pour créer les objets Excel répertoriés dans le tableau suivant, utilisez l’un des identificateurs de programmation OLE correspondants. Si vous utilisez un identificateur sans suffixe de numéro de version, vous créez un objet dans la version Excel la plus récente qui soit disponible sur l’ordinateur sur lequel la macro s’exécute. Pour une liaison anticipée, définissez une référence à la bibliothèque d’objets Microsoft Excel 15.0.

Pour créer cet objet Utilisez l’un des identificateurs suivants Commentaires
Application Excel.Application, Excel.Application.15
Classeur Excel.AddIn
Classeur Excel.Chart, Excel.Chart.8 Retourne un classeur contenant deux feuilles de calcul : une pour le graphique et une pour ses données. La feuille active est celle du graphique.
Classeur Excel.Sheet, Excel.Sheet.12 Renvoie un classeur contenant une feuille de calcul.

Graph

Pour créer les objets Graph répertoriés dans le tableau suivant, utilisez l’un des identificateurs de programmation OLE correspondants. Si vous utilisez un identificateur sans suffixe de numéro de version, vous créez un objet dans la version Graph la plus récente qui soit disponible sur l’ordinateur sur lequel la macro s’exécute. Pour une liaison anticipée, définissez une référence à la bibliothèque d’objets Graph 15.0.

Pour créer cet objet Utilisez l’un des identificateurs suivants
Application MSGraph.Application, MSGraph.Application.8
Graphique MSGraph.Chart, MSGraph.Chart.8

Microsoft Office Web Components

Note Microsoft Office Web Component (OWC) est déconseillé et n’est pas installé avec Project.

Microsoft Outlook

Pour créer l’objet Microsoft Outlook contenu dans le tableau ci-dessous, utilisez l’un des identificateurs de programmation OLE correspondants. Si vous utilisez un identificateur sans suffixe de numéro de version, vous créez un objet dans la version Outlook la plus récente qui soit disponible sur l’ordinateur sur lequel la macro s’exécute. Pour une liaison anticipée, définissez une référence à la bibliothèque d’objets Microsoft Outlook 15.0.

Pour créer cet objet Utilisez l’un des identificateurs suivants
Application Outlook.Application, Outlook.Application.15

Microsoft PowerPoint

Pour créer l’objet Microsoft PowerPoint répertorié dans le tableau suivant, utilisez l’un des identificateurs par programme OLE correspondants. Si vous utilisez un identificateur sans suffixe de numéro de version, vous créez un objet dans la version PowerPoint la plus récente qui soit disponible sur l’ordinateur sur lequel la macro s’exécute. Pour une liaison anticipée, définissez une référence à la bibliothèque d’objets Microsoft PowerPoint 15.0.

Pour créer cet objet Utilisez l’un des identificateurs suivants
Application PowerPoint.Application, PowerPoint.Application.15

Microsoft Word

Pour créer les objets Microsoft Word répertoriés dans le tableau suivant, utilisez l’un des identificateurs par programme OLE correspondants. Si vous utilisez un identificateur sans suffixe de numéro de version, vous créez un objet dans la version Word la plus récente qui soit disponible sur l’ordinateur sur lequel la macro s’exécute. Word.Document.8 et Word.Document.12 créent un document au format Open XML par défaut (.docx). Pour une liaison anticipée, définissez une référence à la bibliothèque d’objets Microsoft Word 15.0.

Pour créer cet objet Utilisez l’un des identificateurs suivants
Application Word.Application, Word.Application.14
Document Word.Document, Word.Document.8, Word.Template.8, Word.Document.12, Word.Template.12

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.