Ajouter une références dans VBA
Bonjour,
Il n'est pas trop compliqué de rajouter une référence dans le code VBA après détection de la présence de par exemple MS Project.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| Public Function TestMSProject() As Boolean
Dim objTmp As Object
Dim Ref As Reference
On Error GoTo Err_TestMSProject
'Test la présence de MS Project et déclenche une erreur si absent
Set objTmp = CreateObject("MSProject.Application")
Set objTmp = Nothing
'Test la présence de la référence MS Project
For Each Ref In APPLICATION.References
If Ref.NAME = "MSProject" Then
TestMSProject = True
GoTo Exit_TestMSProject
End If
Next Ref
'Installe la référence MS Project
References.AddFromFile ("C:\Program Files\Microsoft Office\Office\MSPRJ9.OLB")
' ou \Office12\MSPRJ12.OLB pour la version 2007
TestMSProject = True
Exit_TestMSProject:
Exit Function
Err_TestMSProject:
'Test la présence de la référence MS Project
For Each Ref In APPLICATION.References
'Supprime la référence MS Project
If Ref.NAME = "MSProject" Then References.Remove References!MSProject
Next Ref
TestMSProject = False
Resume Exit_TestMSProject
End Function |
Ce code détecte la présence de MS Project 2000 (ou 2007) et ajoute le fichier OLB dans les références du code.
MAIS... cela fonctionne si le code n'est pas compilé (mde) :cry:
Quelqu'un peux me dire comment ajouter/supprimer une référence ou éviter que mon programme se plante si une référence à un programme absent est référencée dans mon fichier mde (compilé).
Un grand merci,
Philippe.