|
Sujet n°143 |
copier/coller dans le body d'outlook du contenu d'un fichier word
par prady92 le 28/04/2008 : 14:28 |
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 [CODE] 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 [/CODE] Dans le corps je retrouve bien le contenu du document Word mais uniquement le texte, pas les tableaux. 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. J'ai aussi essayé avec "ActiveDocument.Range.Paste mais hélas "ActiveDocument" correspond toujours au fichier Word et non à l'email même si c'est celui-ci qui est actif et possède le focus. Avez-vous une idée ? comment rendre l'email comme étant l'ActiveDocument si c'est cette solution à mon problème ? je pensais que de mettre au premier plan l'email par "oMail.Display" suffisait, donc j'ai essayé aussi de faire : oMail.Display 'afin d'être sûr d'être dans le body oMail.Body = oMail.Body & " " msgbox ActiveDocument.name 'pour voir où je suis je quitte exit sub et cela me donne toujours "test.doc" !! et pourtant je suis bien dans le body du mail car si je fais "Ctrl V" il me le copie bien (je ne clique nul part, l'exit sub me rend la main dans le body !!) D'avance merci. |
Réponse n° 1 |
par 3stone le 16/08/2008 : 16:01 |
Bonjour,
Inspire toi de cette fonction pour sauver ton fichier Word en HTML et ensuite l'intégrer dans le corps du mail...
Cordialement, Pierre(3stone)
|
[ Retour à la liste des sujets ]
| Recherche
Préférences
1 membre
Connectés :
( personne )
|