Valeurs de propriétés Word pour créer un email Outlook

DrMatou
Messages postés
1
Date d'inscription
mardi 2 août 2022
Statut
Membre
Dernière intervention
2 août 2022
- 2 août 2022 à 14:00

Bonjour à tous,

J'ai pour habitude d'utiliser les valeur de CustomDocumentProperties et BuiltInDocumentProperties de Word pour échanger des données entre les logiciels Office. Cela fonctionne très bien entre Word et Excel. Par exemple, en créant un document Word à partir d'un classeur Excel, on récupère la valeur d'une cellule Excel pour alimenter une CustomDocumentProperty ou une BuiltInDocumentProperty de Word :

Dim WordApp As Word.Application
Dim WordDoc As Word.Document
 
'Création instance Word
Set WordApp = New Word.Application
 
'Affiche Word pendant l'opération
WordApp.Visible = True
 
'Ouvre le document Word
Set WordDoc = WordApp.Documents.Add("X:\xxx\xxx\xxx.docx")
 
With WordDoc
    .CustomDocumentProperties("DateDoc").Value = Sheets("NomFeuille1").Range("B2")
    .CustomDocumentProperties("TypeDoc").Value = Sheets("NomFeuille2").Range("C3")
End With

Le principe marche dans les deux sens, est simplissime et permet d'automatiser une infinité de choses avec Word.

Je cherche à faire la même chose pour créer un email Outlook depuis un document Word, en utilisant des valeurs de propriétés de Word pour renseigner par exemple automatiquement le destinataire et l'objet de l'email :

Dim OutlookApp As Outlook.Application
Dim OutlookMail As Outlook.MailItem
 
Dim DestinataireEmail As String
Set DestinataireEmail = WordDoc.CustomDocumentProperties("AdresseContact").Value
 
Dim ObjetEmail As String
Set ObjetEmail = WordDoc.BuiltInDocumentProperties(wdPropertyTitle).Value
 
'Création instance Outlook
Set OutlookApp = New Outlook.Application
 
'Ouvre le courriel Outlook
Set OutlookMail = OutlookApp.CreateItem(olMailItem)
 
With OutlookMail
    .To = DestinataireEmail
    .Subject = ObjetEmail
End With

J'obtiens une erreur : "Erreur de compilation: objet requis" et le débogage me surligne la ligne suivante :

Set DestinataireEmail = WordDoc.CustomDocumentProperties("AdresseContact").Value

Est-ce que j'oublie de déclarer quelque chose, ou est-ce le principe même qui est impossible en faisant dialoguer Word et Outlook ?

Merci d'avance pour votre aide.