[VBA] Envoyer un mail avec Outlook sans Object Library
Bonjour le forum,
Vous trouverez en PJ de ce message un fichier Excel permettant d'ouvrir une fenêtre "Nouveau Message" du logiciel Outlook.
Mais ce code présente 2 problèmes :
=> Problème 1 : J'utilise Outlook 15.0 Object Library mais si une personne ouvrant mon fichier utilise Outlook 14.0 Object Library le code fonctionne pas.
=> Problème 2 ; Si la personne ouvrant mon fichier a la même version d'Outlook que moi mais que L'object library n'est pas cochée dans les références alors le code ne fonctionne pas non plus...
C'est très embêtant car je rencontre ce problème souvent avec mes collègues.
Existe t-il un code, aussi simple que celui que j'ai dans le fichier en PJ, qui permette de ne pas avoir besoin de cocher cette référence ?
Suite à des recherches sur internet j'ai trouvé la mode "Late Binding" mais... je ne comprends absolument pas comme cela fonctionne...
Quelqu'un peut m'aider ?
Merci !
Salut,
pour moi si tu codes une macro avec des exigences de cases à cocher, il faut le préciser dans ton mode op avec la marche à suivre pour cocher les cases
D'autre part,
pour un envoi d'email, j'ai mis un exemple de code ici
https://forum.excel-pratique.com/excel/envoyer-un-userform-t71439.html
Si tu veux y jeter un oeil ^^
En espérant que cela t'aide
Merci à vous !
Sinon c'est toujours 10 minutes après avoir posté la question qu'on trouve la réponse... ( Ca fait 2 jours que je cherche...)
Le code suivant permet d'envoyer des emails avec Outlook sans cocher une référence OBJECT LIBRARY
Sub SendOLMail_LateBound()
Dim oAPP As Object
Dim oItem As Object
' need to declare this constant as it has no meaning without
' the reference set to the Outlook library
Const olMailItem As Long = 0
' instantiate the Application - cannot use New without a reference
' so we must use CreateObject
Set oAPP = CreateObject("Outlook.Application")
' #######################################
' NOTE: THE REST OF THE CODE IS IDENTICAL
' #######################################
' create a new email
Set oItem = oAPP.CreateItem(olMailItem)
' set basic properties and display the email
With oItem
.To = "foo@bar.com"
.Subject = "this is a test"
.Body = "nothing to see here"
.Display
End With
End Sub