Soyez le premier à donner votre avis sur cette source.
Snippet vu 19 653 fois - Téléchargée 22 fois
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
13 juin 2009 à 19:52
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
13 juin 2009 à 06:22
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
13 mai 2009 à 09:36
Quelqu'un peut il nous aider ?
12 mai 2009 à 15:54
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/
12 mai 2009 à 15:41
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?
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.