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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| '--- normalement les "connexions" aux librairies se font sans intervention
'--- et s'adaptent automatiquement à la suite Office installée sur le pc (12.0 ou 14.0)
'--- mais blocage possible si une référence manque, par exemple Outlook
'### NE MARCHE PAS QUAND ON DESCEND DE 14.0 à 12.0 ###
'--- et inutile quand on monte de 12.0 à 14.0 ---
Public Sub AjoutRef()
'--- vérifie la présence des "références" nécessaires au bon fonctionnement de cette application
'--- y compris pour piloter Word, Excel et Outlook
Dim chV As String
On Error Resume Next '--- erreur si Référence déjà active
'--- A --- références liées au système
'--- références normalement déjà actives par défaut
AjouterCetteRef "VBA", "C:\Program Files\Fichiers communs\Microsoft Shared\VBA\VBA6\VBE6.DLL"
AjouterCetteRef "stdole", "C:\WINDOWS\system32\STDOLE2.TLB" '--- OLE Automation
'--- références complémentaires fonctionnalités de messagerie autre que Outlook
AjouterCetteRef "CDO", "C:\WINDOWS\system32\cdosys.dll" '--- CDO = Collaboration Data Objects
'--- références complémentaires fonctionnalités raccourci sur le bureau --- utile ?
'AjouterCetteRef "IWshRuntimeLibrary", "C:\Windows\system32\wshom.ocx"
'--- références complémentaires --- utile ?
'--- http://www.solvusoft.com/fr/files/manquant-introuvable-erreur/dll/windows/microsoft/windows-xp/comsnap-dll/
'AjouterCetteRef "COMSNAPLib", "C:\WINDOWS\system32\comsnap.dll" '--- COM système d'exploitation Windows
'--- B --- références liées à la version de la suite Office
chV = "Office" & Left(Application.Version, 2)
'--- références complémentaires fonctionnalités Office
AjouterCetteRef "Office", "C:\Program Files\Fichiers communs\Microsoft Shared\" & chV & "\MSO.DLL"
If Len(DDir("C:\Program Files (x86)\Microsoft Office\" & chV, vbDirectory)) > 3 Then
chV = "C:\Program Files (x86)\Microsoft Office\" & chV
Else
chV = "C:\Program Files\Microsoft Office\" & chV
End If
chV = chV & "\"
AjouterCetteRef "Access", chV & "MSACC.OLB"
AjouterCetteRef "DAO", chV & "ACEDAO.DLL"
'--- références complémentaires fonctionnalités Word
AjouterCetteRef "Word", chV & "MSWORD.OLB"
'--- références complémentaires fonctionnalités Excel
AjouterCetteRef "Excel", chV & "EXCEL.EXE"
'--- références complémentaires fonctionnalités Outlook
AjouterCetteRef "Outlook", chV & "MSOUTL.OLB"
On Error GoTo 0
End Sub
Private Sub AjouterCetteRef(refName As String, refPath As String)
Dim r As Reference
For Each r In References
If r.Name = refName Then
Debug.Print "Installé: ", r.Name, r.FullPath
Exit Sub
End If
Next r
Debug.Print "Ajouté: ", refName, refPath
References.AddFromFile refPath
End Sub |
Partager