begin process at 2012 02 14 05:57:38
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

VB.NET

 > PILOTER OUTLOOK ET WORD DEPUIS UNE APPLICATION; COPIER UN CONTENT WORD DANS UN MAIL OUTLOOK

PILOTER OUTLOOK ET WORD DEPUIS UNE APPLICATION; COPIER UN CONTENT WORD DANS UN MAIL OUTLOOK


 Information sur la source

Note :
9 / 10 - par 1 personne
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :VB.NET Source .NET ( DotNet ) Classé sous :word, outlook, content, pilot, mail Niveau :Débutant Date de création :30/07/2007 Vu :16 129

Auteur : gilletp

Ecrire un message privé
Commentaire sur cette source (12)
Ajouter un commentaire et/ou une note

 Description

petit code simple qui permet de piloter outlook 2003 et word 2003. il copie le contenu d'un document word dans le corps de mail d'outlook, pret à être envoyé.

Attention, il faut mettre les référence d'outlook et de word dans le projet

Source

  • Imports Microsoft.Office.Interop
  • 'this example need reference of microsoft word object library and outlook object library
  • Public Class Form1
  • Private oMissing As Object = System.Reflection.Missing.Value
  • Private Sub btnGenerate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGenerate.Click
  • Dim strSubject As String = "subject test"
  • Dim strMessage As String = "message test"
  • Dim astrRecip As String = "recipientMe@mail.org"
  • Dim astrAttachments As String = txtPath.Text
  • Dim OutlookApp As New Outlook.Application
  • Dim MyEMail As Outlook.MailItem = OutlookApp.CreateItem(Outlook.OlItemType.olMailItem)
  • For Each Recipient As String In Split(astrRecip, ";") : MyEMail.Recipients.Add(Recipient) : Next
  • For Each Attachment As String In Split(astrAttachments, ";") : MyEMail.Attachments.Add(Attachment) : Next
  • MyEMail.Subject = strSubject
  • MyEMail.HTMLBody = getWordDoc(astrAttachments)
  • MyEMail.Display()
  • End Sub
  • Private Function getWordDoc(ByVal filename As String) As Object
  • Dim wordApp As Word.Application = New Word.ApplicationClass()
  • Dim wordDoc As Word._Document
  • Dim content As Object = ""
  • wordApp.Visible = False
  • wordDoc = wordApp.Documents.Open(CType(filename, Object), oMissing, True, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing)
  • wordDoc.Content.Select()
  • wordDoc.Content.Copy()
  • Dim objClipboard As IDataObject = Clipboard.GetDataObject()
  • If objClipboard.GetDataPresent(DataFormats.Html) Then content = objClipboard.GetData(DataFormats.Html)
  • wordApp.Quit(CType(False, Object), oMissing, oMissing)
  • wordDoc = Nothing
  • wordApp = Nothing
  • Return content
  • End Function
  • End Class
Imports Microsoft.Office.Interop
'this example need reference of microsoft word object library and outlook object library

Public Class Form1

    Private oMissing As Object = System.Reflection.Missing.Value

    Private Sub btnGenerate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGenerate.Click
        Dim strSubject As String = "subject test"
        Dim strMessage As String = "message test"
        Dim astrRecip As String = "recipientMe@mail.org"
        Dim astrAttachments As String = txtPath.Text

        Dim OutlookApp As New Outlook.Application
        Dim MyEMail As Outlook.MailItem = OutlookApp.CreateItem(Outlook.OlItemType.olMailItem)

        For Each Recipient As String In Split(astrRecip, ";") : MyEMail.Recipients.Add(Recipient) : Next
        For Each Attachment As String In Split(astrAttachments, ";") : MyEMail.Attachments.Add(Attachment) : Next

        MyEMail.Subject = strSubject
        MyEMail.HTMLBody = getWordDoc(astrAttachments)

        MyEMail.Display()
    End Sub

    Private Function getWordDoc(ByVal filename As String) As Object
        Dim wordApp As Word.Application = New Word.ApplicationClass()
        Dim wordDoc As Word._Document
        Dim content As Object = ""

        wordApp.Visible = False

        wordDoc = wordApp.Documents.Open(CType(filename, Object), oMissing, True, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing)

        wordDoc.Content.Select()
        wordDoc.Content.Copy()

        Dim objClipboard As IDataObject = Clipboard.GetDataObject()
        If objClipboard.GetDataPresent(DataFormats.Html) Then content = objClipboard.GetData(DataFormats.Html)

        wordApp.Quit(CType(False, Object), oMissing, oMissing)

        wordDoc = Nothing
        wordApp = Nothing
        Return content
    End Function
End Class



 Sources du même auteur

TESTER RAPIDEMENT DES BOOKMARK WORD EN MASSE

 Sources de la même categorie

Source .NET (Dotnet) MODIFICATION DATE DE WINDOWS EN VB.NET ET VBA par us_30
Source avec Zip Source avec une capture Source .NET (Dotnet) ENVOI DE MAIL AVEC PIÈCE JOINTE par EhJoe
Source .NET (Dotnet) AMUSONS NOUS AVEC UN LABEL ^^ par Adn56
Source avec Zip Source avec une capture Source .NET (Dotnet) UN NAVIGATEUR INTERNET EN VB.NET par azrti
Source avec Zip Source .NET (Dotnet) CONVERSION DE DEVISE MONAITAIRE VIA UN SERVICE WEB par bigmonkey7

 Sources en rapport avec celle ci

GÉNÉRATEUR DE MAIL OUTLOOK AVEC MISE EN FORME VIA UNE SYNTAX... par 8Tnerolf8
Source avec Zip Source avec une capture GESTION DE NEWSLETTER (PLUGIN OUTLOOK) par freddybesac
AFFICHAGE DU CHEMIN D'UN MESSAGE OUTLOOK par scoulet
Source avec Zip WORD : OUVERTURE (AVEC OU SANS PASSWORD) ET PROPRIÉTÉES D'UN... par DJMoustique
CONTRÔLER OUTLOOK 2003 - ENVOYER UN MAIL DEPUIS VB.NET 2005 par christian_grandjean

Commentaires et avis

Commentaire de dpouliot le 15/08/2007 16:00:44

Simple et efficace.
Ça m'a bien rendu service.
Merci

Commentaire de LunaPurple le 26/08/2008 00:30:59

Trop fort !
Je cherchais justement comment faire pour ouvrir le mail et ne pas l'envoyer automatiquement avant validation du user.
Et là, en prime, je peux coller le contenu d'un fichier Word dans le mail !
L'attachement des pièces jointes fonctionne bien, ainsi que l'insert du contenu du fichier Word dans le corps du mail.
Bravo, et merci beaucoup.
Luna.

Commentaire de hotsizzle le 18/09/2008 11:24:31

Bonjour,
Voilà je travail en c#, je souhaiterais faire la même chose dans ce langage. Le problème est que je ne sais pas ce qu'est la référence de word et de Outlook, quelqu'un pourait m'informer sur les fichiers à copier dans mon projet.

Merci d'avance.
Cordialement Ludo.

Commentaire de hotsizzle le 18/09/2008 11:45:49

J'ai trouvé ma solution au bout d'une petite heure de recherche, pour ceux qui on le même problème que moi et qui n'arrive pas à ajouter de référence à outlook et word voici la solution :
Sous VS 2008 rendez-vous dans le menu projet, puis dans ajouter une référence, et enfin dans l'onglet COM vous trouverez votre bonheure.

Ludo.

Commentaire de mulot37 le 01/04/2009 10:47:55

Bonjour, ce code ne fonctionne pas sous Microsoft Access 2003, il retourne des messages d'erreur à chaque ligne pourquoi ?

Commentaire de gpg le 01/04/2009 10:51:32

Bonjour Mulot,

Pour répondre à ta question, c'est probablement car ce code est écris en VB.Net et non en VBA, destiné à être utilisé dans le dev d'une application Visual Studio (ou autre IDE)

Commentaire de mulot37 le 06/04/2009 11:28:52

Alors est-il possible que quelqu'un puisse me le traduire en VBA pour access 2003 ! Cela serazit super sympa...
J'ai un code qui ouvre un fichier Word spécifique sans problème mais qui ne m'affiche pas les entêtes de messagerie (A, CC, CCI, Objet etc), il m'affiche un nouveau message avec un document vierge.

Commentaire de viviane44 le 12/05/2009 15:41:14

Bonjour,

Merci pour ce code si précieux.
Je suis sous Outlook 2007 et le message m'arrive avec,dans le corps du message 1 ère ligne
"Version:1.0 StartHTML:0000000105 EndHTML:0000008139 StartFragment:0000002212 EndFragment:0000008099 "

auriez-vous une idée?

Commentaire de gpg le 12/05/2009 15:54:35

Bonjour Viviane,

Je ne sais pas vraiment t'aider sur ce point là.

J'ai du faire des fonction beaucoup plus avancées dans outlook et dans office en général depuis ce code.

Depuis, donc, j'utilise rédemption http://www.dimastr.com/redemption/

Commentaire de mulot37 le 13/05/2009 09:36:20

Bonjour, ce que je cherche concerne Microsoft ACCESS 2003 et doit être écrit en VBA pour être compatible avec ACCESS 2003, je ne cherche pas du VBA.Net ou autre mais du VBA tout court.
Quelqu'un peut il nous aider ?

Commentaire de ManuAntibes le 13/06/2009 06:22:04

Bonjour

J'ai un message d'erreur lorsque j'exécute le code

Voici le message:
Interception de System.InvalidCastException
  Message="Impossible d'effectuer un cast d'un objet COM de type 'Microsoft.Office.Interop.Word.ApplicationClass' en type d'interface 'Microsoft.Office.Interop.Word._Application'. Cette opération a échoué, car l'appel QueryInterface sur le composant COM pour l'interface avec l'IID '{00020970-0000-0000-C000-000000000046}' a échoué en raison de l'erreur suivante : Bibliothèque non inscrite. (Exception de HRESULT : 0x8002801D (TYPE_E_LIBNOTREGISTERED))."
  Source="Microsoft.Office.Interop.Word"


Quelque aurait il une idée du problème ????

Merci

Commentaire de gpg le 13/06/2009 19:52:10

Bonjour ManuAntibes,

si je ne me trompe pas, la librairie en question ne se trouve pas dans le GAC

verifie la présence de la librairie avec gacutil -l
éventuellement, enregistre les composant soit à la main, soit en (re)installant les composant de programmation dotnet fournis avec le cd office

sinon, google + TYPE_E_LIBNOTREGISTERED te donne de bon résultat... esseye par exemple le premier résultat sur msdn

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Word et Outlook [ par guycnoel ] Je réussis sans problème à créer dans Word une petite macro qui crée un mail dans Outlook par le code suivant : Set myApp = CreateObject("Outlook.Appl Comment attacher un fichier à un message mail outlook généré par une macro depuis word ? [ par julitoVB ] Salut,j'ai crée depuis word une macro permettant de générer un mail Outlook et de l'envoyer. Cependant depuis la macro word j'aimerai insérer un fichi envoyer un mail via word/outlook [ par dg69 ] Bonsoir,je débute en la matière, mais je souhaiterais savoir s'il est possible à partir de word, d'envoyer automatiquement un document Mettre le focus sur le corps d'un mail [ par prady92 ] Bonjour,Une petite question sur l'envoi d'un mail via Outlook.Contexte :Via un formulaire ACCESS, j'ouvre un fichier Word qui m'est fourni avec du tex Publipostage en VBA dans Outlook [ par Renarde ] Bonjour, je suis tellement débutant que j'en ai honte. Je cherche à faire du publipostage à partir d'Outlook. Les solutions proposée Envoie de mail à partir d'excel avec Outlook [ par AiDuK ] Bonjour à toutes et à tous.je suis actuellement en trainde travailler sur un envoie de mail à partir d'un clique, qui reprendrait les informations con VBA Outlook Programme Archiver Mails [ par kinslow ] Bonjour, Je travail dans un cabinet d'architecte et je recoit bqc de mails par jours. En plus il m'est obligé de les enregistrer pour les sauvegarde envoye mail avec access [ par imsse ] voici mon probleme , je souhaite envoyer un mail outlook avec access sur le clik d'un bouton mais lerreur " echec d'excution" s'affcihe  a cette ligne Version OUTLOOK ou OUTLOOK EXPRESS [ par jimy neutron ] Bonjour à tous,Voilà! Je developpe actuellement un annuaire ( ou répertoire ) ciblé recherche d'emploi (Un outils que j'aurais aimé avoir à une époque


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,836 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales