[VBA] Accès à Outils->Références dans le code

JNP

XLDnaute Barbatruc
Bonjour le forum :),
Quand nous utilisons des applications tierces en langage objet, nous sommes obligés d'utiliser Outils -> Références pour ouvrir la bibliothèque qui nous permet d'utiliser celles-ci. Or, quand je veux par exemple envoyer un mail depuis Excel, je suis obliger de référencer la version d'Outlook utilisée pour utiliser sa bibliothèque Objet. Personnellement, je mets en réseau un fichier qui est ouvert en versions Excel 2000, 2002, 2003 ou 2007. A chaque version correspond ses références Outlook. Il est bien sûr possible de lire la version d'Excel via Application.Version (Merci Skoobi de ta réponse sur un post précédent pour les N° renvoyés), mais après, il faudrait (dans le WorkBook_Open par exemple) pouvoir décider de la version d'Outlook correspondante pour le référencement...
Merci de vos cogitations... :cool:
 

Cousinhub

XLDnaute Barbatruc
Re : [VBA] Accès à Outils->Références dans le code

Bonjour,
si cela peut t'aider, pour charger une librairie avec le open()

Code:
Private Sub Workbook_Open()
ThisWorkbook.VBProject.References.AddFromFile ("C:\Program Files\Microsoft Office\Office11\MSACC.OLB")
End Sub

Ici, on charge la librairie pour Access
comme je n'ai pas outlook, je suppose que tu peux remplacer par :

Code:
Private Sub Workbook_Open()
ThisWorkbook.VBProject.References.AddFromFile ("C:\Program Files\Microsoft Office\Office11\MSOUTL.OLB")
End Sub
 

JNP

XLDnaute Barbatruc
Re : [VBA] Accès à Outils->Références dans le code

Bonjour Bhbh :),
Effectivement, ça devrait le faire. Et je pense du coup que la mauvaise référence s'efface avec :
Code:
ThisWorkbook.VBProject.References.Remove ("C:\Program Files\Microsoft Office\Office11\MSOUTL.OLB")
J'ai testé mais j'ai l'impression que j'ai un problème de chemin, celui référencé actuellement passe par Fichiers communs, mais je n'ai pas la fin du chemin dans les références et n'ai pas trouvé de .olb dans ce dossier :eek:
Merci de ta piste, je vais continuer à chercher.
Bon dimanche :cool:
 

michel_m

XLDnaute Accro
Re : [VBA] Accès à Outils->Références dans le code

Bonjour,

Il faut se placer sur le PC avec les versions les plus anciennes (windows ET office) et cocher la ref voulue. NORMALEMENT, la mise a niveau se fait automatiquement sur des PC avec des versions plus récentes.

D'autre part, plutôt que d'imposer le "cochage" de la ref sur chaque PC, il vaudrait peut-être mieux utiliser la syntaxe "create object". P.e , pour utiliser les expressions rationnelles (je n'ai pas outlook et j'ai celui là sous les yeux!)

Code:
Dim reg As Object
          
     Set reg = CreateObject("vbscript.regexp")
 

Statistiques des forums

Discussions
312 764
Messages
2 091 868
Membres
105 084
dernier inscrit
lca.pertus