XL 2013 [VBA] Envoyer un mail avec Outlook sans Object Library

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Mjgreg67

XLDnaute Junior
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 !
 

Pièces jointes

Re : [VBA] Envoyer un mail avec Outlook sans Object Library

Evidemment on a beau chercher on ne trouve jamais... Sauf 10 minutes après avoir poser la question.

Je partage ma trouvaille.

Si comme moi vous cherchiez un code qui vous permet d'envoyer un email sans OBJECT LIBRARY le voici :

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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
946
Retour