Visites

   visiteurs

   visiteurs en ligne

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

Se reconnecter
---

Votre nom (ou pseudo) :

Votre code secret


 Nombre de membres 1 membre


Connectés :

( personne )

Haut