Aller au contenu

Envoyer un email via Outlook


Messages recommandés

Posté(e)

Bonjour

 

J'ai une petite appli en visual basic 2005

Je souhaiterais pourvoir envoyer un courriel via outlook mais le code que j'ai ne marche pas.

 

le voici :

 
   Public Sub SendEmailtoContacts(ByVal AdresseMail As String)
       Dim subjectEmail As String = "Sujet"
       Dim bodyEmail As String = "Corps"
       CreateEmailItem(subjectEmail, AdresseMail, bodyEmail)
   End Sub

   Private Sub CreateEmailItem(ByVal subjectEmail As String, _
       ByVal toEmail As String, ByVal bodyEmail As String)
       Dim Outlook As Microsoft.Office.Interop.Outlook.Application
       
       Outlook = CreateObject("Microsoft.Office.Interop.Outlook.Application")
       'Outlook = New Microsoft.Office.Interop.Outlook.Application
       Dim courriel As Microsoft.Office.Interop.Outlook.MailItem = _
           Outlook.CreateItem(Outlook.OlItemType.olMailItem)

       With courriel
           .Subject = subjectEmail
           .To = toEmail
           .Body = bodyEmail
           .Importance = Outlook.OlImportance.olImportanceLow
           .Send()
       End With

   End Sub

 

 

J'ai un message d'erreur :

Imossible de créer le composant activeX

 

Si quelqu'un a une idée ?

 

Ou y a t-il un moyen via une API Windows de pouvoir créer un nouvel courriel en utilisant l'application de messagerie par défault ??

 

Merci d'avance

 

 

Connaître son ignorance est la meilleure part de la connaissance !http://mooneck.pagesperso-orange.fr/confucius_mini.gif

Posté(e)

Bonjour,

 

Je fais ce genre de chose avec VB6 pour mes add-ins Inventor.

 

Sur ma Form, je crée un Label mais celà peut être également un CommandButton.

 

DAns les décalaration de ma Form, je déclare l'API Windows:

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal HWND As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Const SW_NORMAL = 1

 

Sur l'évènement Click de mon contrôle, j'insère :

 

Set oInventorApp = GetObject(, "Inventor.Application")

   ShellExecute oInventorApp.MainFrameHWND, "open", "mailto:adresse@fai.dom", vbNullString, vbNullString, SW_NORMAL

 

Je n'ai jamais eu le besoin de compléter l'objet du message. Il faudra donc chercher si c'est faisable avec lpParameters ou lpDirectory.

Si un de ces deux paramètres est Ok, merci pour le retour.

 

Nomutt,

Consultant, Responsable Projets CAD/PLM

'Add-ins pour Inventor + Trucs et Astuces.

Disponible pour un poste administrateur CAO/PLM.

Posté(e)

bonjour nomutt,

 

je suis en train de tester cette solution qui m'a l'air a priori répondre à ce que je recherche. Par contre j'ai quelque souci d'integration dans vb2005. J'ai quelques messages d'erreurs.

 

voici le message que j'obtiens :

 

Un appel à la fonction PInvoke Monappli! Appli.Outlook2::ShellExecute' a déséquilibré la pile. Cela peut se produire, car la signature PInvoke managée ne correspond pas à la signature cible non managée. Vérifiez que la convention d'appel et les paramètres de la signature PInvoke correspondent à la signature non managée cible.

Connaître son ignorance est la meilleure part de la connaissance !http://mooneck.pagesperso-orange.fr/confucius_mini.gif

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité