Bonjour,
via Access j'ouvre Outlook et un fichier Word, je dois copier le contenu de ce fichier Word dans le corps du message (et non envoyer le fichier Word en pièce jointe, de plus le contenu de ce fichier Word change tout le temps et je n'en suis pas maître, il m'est mis à disposition et c'est tout, donc je ne peux changer le process).
Voici le code dont j'ai retiré tous les tests de présence, de déjà ouvert, etc.. pour alléger et simplifier la compréhension
Dans le corps je retrouve bien le contenu du document Word mais uniquement le texte, pas les tableaux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 Dim oApp As Outlook.Application Dim oMail As Outlook.MailItem Dim leNameSpace As NameSpace Dim leFolder As MAPIFolder Dim wApp As Word.Application Dim oWord As Word.Document On Error GoTo GestErr Set oApp = CreateObject("Outlook.Application") Set oMail = oApp.CreateItem(olMailItem) Set oAttachement = oMail.Attachments oMail.Body = "Test" oMail.Subject = "Test" oMail.To = "toto@free.fr" 'je force l'ouverture d'Outlook Set leNameSpace = oApp.GetNamespace("MAPI") Set leFolder = leNameSpace.GetDefaultFolder(olFolderOutbox) leFolder.Display oMail.Display docname = "C:\test.doc" Set wApp = New Word.Application Set oWord = GetObject(docname, "Word.Document") 'Rend Word visible oWord.Application.Visible = True 'je sélectionne tout le document Word oWord.Select wApp.Selection.Copy 'je remets au premier plan le mail oMail.Display oMail.Body = wApp.Selection 'Envoi le mail oMail.Send 'je libère mais sciemment je ne referme ni Outlook ni Word Set oWord = Nothing Set wApp = Nothing Set oMail = Nothing Set oApp = Nothing
Comme Outlook et Word sont restés ouverts et que le texte sélectionné dans Word est toujours sélectionné il me suffit dans le corps du mail de faire "coller" et là je retrouve bien tout le contenu du document y compris les tableaux !!!!
D'où ma question que dois-je faire ?
j'ai bien regardé sur le forum mais je ne trouve rien à ce sujet, ni dans les cours.
J'ai essayé avec oMail.HTMLBody = wApp.Selection mais cela donne le même résultat.
Peut-être par des "Sendkey" ? mais là je ne connais absoluement pas et je trouve dommage de devoir y avoir recours (et comment faire pour sélectionner le corps du mail et simulez le "contrôle V" ou le coller du menu) donc si vous pouviez me donner soit un bout de code ou un lien j'en serais ravi.
D'avance merci
Partager