mooneck Posté(e) le 24 novembre 2007 Posté(e) le 24 novembre 2007 Bonjour J'ai une petite appli en visual basic 2005Je 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
nomutt Posté(e) le 25 novembre 2007 Posté(e) le 25 novembre 2007 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.
mooneck Posté(e) le 26 novembre 2007 Auteur Posté(e) le 26 novembre 2007 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
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant