ajout Références librairie projet vba

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
 

tototiti2008

XLDnaute Barbatruc
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
 

mromain

XLDnaute Barbatruc
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+
 

rico99

XLDnaute Nouveau
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 :eek:
 

rico99

XLDnaute Nouveau
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 :)
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 910
Membres
101 837
dernier inscrit
Ugo