Soyez le premier à donner votre avis sur cette source.
Snippet vu 14 509 fois - Téléchargée 22 fois
' ' MadeIn@CEREAL ' Fonction d'envoi d'un mail avec Outlook 2003 ' ' Il faut avant d'utiliser ajouter la référence à Outlook dans les références COM ' Microsoft Office 11 Object Library ' Importer le Namespace ' Imports Outlook = Microsoft.Office.Interop.Outlook ' ' Utilisation de la fonction : ' Function CreateMail(ByVal astrRecip As String, ByVal strSubject As String, ByVal strMessage As String, Optional ByVal astrAttachments As String = "") As Boolean ' ' ByVal astrRecip As String ' Liste des destinataires séparés par des points virgules ; ' ' ByVal strSubject As String ' Sujet du message ' 'ByVal strMessage As String ' Corps du message ' 'Optional ByVal astrAttachments As String ' Liste des fichiers attachés séparés par des points virgules ; ' ' Exemple : ' CreateMail("dest1@test.com;dest2@test.int", "Sujet du message", "Corps du message à envoyer", "monfichier1.zip;monfichier2.doc") ' ' Adaptation du code exemple http://www.vbfrance.com/codes/CONTROLER-OUTLOOK-ENVOYER-MAIL-DEPUIS-VB_320.aspx mais pour qu'il fonctionne avec du .NET ' Imports Outlook = Microsoft.Office.Interop.Outlook Module SendOutlookMail Function CreateMail(ByVal astrRecip As String, ByVal strSubject As String, ByVal strMessage As String, Optional ByVal astrAttachments As String = "") As Boolean Dim olApp As Outlook.Application Dim objNewMail As Outlook.MailItem Dim varRecip As Object Dim varAttach As Object Dim blnResolveSuccess As Boolean Dim sRceipList() As String Dim sAttachments() As String olApp = New Outlook.Application objNewMail = olApp.CreateItem(Outlook.OlItemType.olMailItem) 'Crée un tableau avec la liste des expéditeurs sRceipList = Split(astrRecip, ";") sAttachments = Split(astrAttachments, ";") With objNewMail ' Add each item in the varRecip array to the Recipients collection. For Each varRecip In sRceipList .Recipients.Add(varRecip) Next varRecip ' Determine if all recipients have corresponding entries in the ' Outlook address book. blnResolveSuccess = .Recipients.ResolveAll ' Add each item in the varAttach array to the Attachments collection ' and specify the subject and text of the mail message. For Each varAttach In sAttachments .Attachments.Add(varAttach) Next varAttach .Subject = strSubject .Body = strMessage ' If all recipients are valid then send the message now, otherwise ' display the message so the user can fix invalid e-mail addresses. If blnResolveSuccess Then .Send() ' '.Display() Else MsgBox("Unable to resolve all recipients. Please check " & "the names.") .Display() End If End With Return True End Function End Module
5 déc. 2010 à 08:52
1 déc. 2010 à 14:26
Le code fonctionne parfaitement.
Par contre, s'il y a plusieurs adresses mails configurer dans Outlook, ça prend forcement l'adresse par défaut comme expéditeur.
Y-a-t-il un moyen de modifier l'expéditeur (en prenant l'une des autres adresses définies dans Outlook) ?
Yannick
18 juin 2009 à 17:28
18 juin 2009 à 15:28
18 juin 2009 à 14:43
Je ne sais plus quoi te dire pour t'aider, désolé.
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.