Liste des références (2)
Lire les références dans une boucle sur la collection references, permet de récupérer le nom, le guid et le chemin d'accès.
Cette méthode-ci simple est la plus utilisée, mais aussi la moins bavarde...
Mais, elle ne représente pas ce que nous avons l'habitude de voir dans la fenêtre appelée par le menu "Outils, Références" de l'éditeur VBA. Elle ne nous affiche pas quel fichier contient cette référence, ni l'endroit ou se trouve ce fichier.
Par exemple, "Word" version 2003, y est renseigné par "Microsoft Word 11.0 Object Library".
Cela représente d'ailleurs plutôt une description qu'un simple nom.
Comment alors récupérer ces informations supplémentaire ? Eh bien, grâce à une DLL
La marche à suivre:
Ouvrir la fenêtre listant les références (ALT + F11, menu Outils, Références), rechercher et cocher "TypeLib Information".
Si vous ne la trouver pas dans la liste, appuyez sur le bouton "Parcourir..." et rejoignez le répertoire "Windows/System32/" ou vous sélectionnerez le fichier "TLBINF32.dll"
Elle sera automatiquement ajoutée et cochée dans la fenêtre de la liste des références.
Il vous reste maintenant à copier le code ci-dessous dans un module général et d'appeler la fonction dans la fenêtre d'exécution directe (CTRL + G)
La fonction :
Function ListRefs() Dim Ref As Reference Dim TL As TLI.TypeLibInfo Dim sSP As String, sRF As String sSP = Space(12) For Each Ref In Access.References Set TL = New TLI.TypeLibInfo TL.ContainingFile = Ref.FullPath sRF = Left(Ref.Name & ":" & sSP, 12) Debug.Print sRF & TL.HelpString Debug.Print sSP & "=> " & Ref.FullPath & vbCrLf Next Ref End Function