ajout Références librairie projet vba

  • Initiateur de la discussion Initiateur de la discussion rico99
  • Date de début Date de début

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 !

rico99

XLDnaute Nouveau
Bonjour,

Je cherche un moyen d'ajouter dynamiquement une référence à une library (en l'occurence outlook selon la version) dans une projet VBA.

Le but étant, selon la version d'outlook intallée, ajouter "Microsoft Outlook 11.0 Object Library" ou bien "Microsoft Outlook 12.0 Object Library".

J'ai la possibilité de signer mon fichier avec un certificat.

Mais il semble que malgré tout il soit nécessaire, de changer la configuration d'Excel , via l'option: Outils\ Options \ Sécurité des macros et cocher la case " Faire confiance au projet Visual Basic" de l'onglet "éditeurs approuvés".

Et cette modification est très contraignante... avez vous une idée ? je pensais que l'utilisation d'un certificat permettait de contourner cela
 
Re : ajout Références librairie projet vba

Bonjour rico99,

peut-être une piste : si tu ne veux pas activer une référence, tu peux modifier ton code, non pas en déclarant les objets (genre Dim OutApp as Outlook.Application) mais en utilisant un CreateObject

Set OutApp = CreateObject("Outlook.Application")

dans ce cas là ça ne nécessite pas de référence cochée
 
Re : ajout Références librairie projet vba

bonjour rico99, tototiti


J'en profite pour renvoyer vers un des rares fils ouverts (pour un problème, je précise) par l'excellent @+Thierry. - en même temps, il a trouvé tout seul la solution à son problème...

J'avais déjà été confronté à "ce genre" de problème en utilisant la référence Microsofst Scripting Runtime dans des macros. Ces macros fonctionnaient sur d'autres postes uniquement si la référence était cochée - embêtant
Il faut donc faire comme tototiti le préconise, créer les objets avec un Set monObbjet = CreateObject("laBonneRef") (et non Set monObbjet = New LObjet). Il faut également faire attention à modifier (dans le code) le nom des constantes (présentes dans ces références ajoutées) pas leur valeur. - Par exemple, la constante ForWriting présente dans la référence Microsofst Scripting Runtime a pour valeur 2.

Le risque est de développer par exemple avec une référence récente en utilisant des "fonctions" non présentes dans les versions antérieures de cette même référence. Dans ce cas, le code beugera lors de l'exécution. - Cependant, cela ne m'est jamais arrivé...

a+
 
Re : ajout Références librairie projet vba

Bonjour rico99,

peut-être une piste : si tu ne veux pas activer une référence, tu peux modifier ton code, non pas en déclarant les objets (genre Dim OutApp as Outlook.Application) mais en utilisant un CreateObject



dans ce cas là ça ne nécessite pas de référence cochée

Ah oui :$ :$ :$ purée mais des fois je cherche à me compliquer la vie 😱
 
Re : ajout Références librairie projet vba

bonjour rico99, tototiti


J'en profite pour renvoyer vers un des rares fils ouverts (pour un problème, je précise) par l'excellent @+Thierry. - en même temps, il a trouvé tout seul la solution à son problème...

J'avais déjà été confronté à "ce genre" de problème en utilisant la référence Microsofst Scripting Runtime dans des macros. Ces macros fonctionnaient sur d'autres postes uniquement si la référence était cochée - embêtant
Il faut donc faire comme tototiti le préconise, créer les objets avec un Set monObbjet = CreateObject("laBonneRef") (et non Set monObbjet = New LObjet). Il faut également faire attention à modifier (dans le code) le nom des constantes (présentes dans ces références ajoutées) pas leur valeur. - Par exemple, la constante ForWriting présente dans la référence Microsofst Scripting Runtime a pour valeur 2.

Le risque est de développer par exemple avec une référence récente en utilisant des "fonctions" non présentes dans les versions antérieures de cette même référence. Dans ce cas, le code beugera lors de l'exécution. - Cependant, cela ne m'est jamais arrivé...

a+

je m'étais jamais imaginé que l'on pouvait procéder directement ainsi :$

Nickel 🙂
 
- 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

Retour