Bonjour,
Bon, on va recommencer dès le départ car j'ai l'impression que tu ne maîtrises pas du tous les macros et que tu essaies de faire un truc fait de morceaux trouvés ça et là.
La méthode ExportAsFixedFormat , comme je l'ai dit, permet simplement de convertir un doc en pdf. ça ne permet pas d'envoyer le fichier. Le code d'automation que tu as récupéré permet de piloter Outlook depuis Word, et dans ton cas d'envoyer un mail avec une pièce jointe. La pièce jointe n'est plus le document en cours (ActiveDocument) mais le document PDF que tu auras créé et que tu ne pourras pas ouvrir avec Word ('inutile donc d'essayer).
Donc on va créer une macro qui va tout d'abord convertir le document, puis qui va envoyer ce document via l'automation. C'est d'ailleurs ce que fait la fonctionnalité toute faite... car même si tu ne le vois pas, le document est créé temporairement et- stocké dans un dossier temporaire.
Il faudrait aussi penser à demander l'adresse du destinataire, car on peut supposer que ce n'est pas toujours le même. On fera ça par une InputBox. Et puis un message sera bienvenu à la fin pour dire que le mail est parti.
Voici donc la macro :
Private Sub CommandButton1_Click()
Dim fichier
fichier = "C:\...\mondoc.pdf" 'donner le nom exact du fichier pdf et du chemin où il sera stocké
'Export du fichier actif en pdf
ActiveDocument.ExportAsFixedFormat OutputFileName:=fichier, _
ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False
'demande l'adresse du destinataire
destinataire = InputBox("adresse du destinataire")
'démarrage de l'automation Outlook :
Set myApp = CreateObject("Outlook.Application")
Set myItem = myApp.CreateItem(olMailItem)
myItem.Subject = "Objet du mail"
myItem.Body = "Texte du mail"
myItem.Attachments.Add fichier
myItem.to = adresse
myItem.Display
myItem.Send
MsgBox "Le mail es bien envoyé"
End Sub
m@rina
Olivia
myItem.to = adresse
évidemment c'est une erreur... Il falait lire :
myItem.to = destinataire
m@rina