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.
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
MAIS... cela fonctionne si le code n'est pas compilé (mde)
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.
Partager