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.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour