Sur mon PC avec XL2003 et Winword 2003 ça fonctionne.
Mon souci c'est que j'ai développé cette appli sous Excel 2003 avec
l'activation de la référence Microsoft Word Object 11.0 Library.
Sur un poste en 2000 comme il n'y a pas Microsoft Word Object 11.0
Library ça fonctionne pas, il faudrait Microsoft Word Object 9.0 Library.
Comment résoudre ce probème ?
'Essayer de réinstaller les références manquantes d'un projet
Sub AddMissingRefs() 'examine les références d'un projet, repère celles qui 'sont déclarées manquantes et essaye de les réinstaller 'à tester Dim LesRefs As Object, i&, Msg$, Cpt&, Rep&, Mnq&, Chemin$, Nom$
Set LesRefs = ThisWorkbook.VBProject.References For i = 1 To LesRefs.Count With LesRefs(i) If .IsBroken Then Mnq = Mnq + 1: Chemin = .FullPath: Nom = .Name LesRefs.Remove LesRefs.Item(.Name) If Dir(Chemin) = "" Then Msg = "La librairie " & Nom & " est manquante et le fichier" & vbLf Msg = Msg & "'" & Chemin & "'" & vbLf Msg = Msg & "ne peut être trouvé pour l'installer." MsgBox Msg, vbCritical Cpt = Cpt + 1 Else LesRefs.AddFromFile Chemin Rep = Rep + 1 End If End If End With Next i
If Mnq > 0 Then If Cpt > 0 Then Msg = Cpt & " référence(s) toujours manquante(s)" If Rep > 0 Then Msg = Msg & Rep & "référence(s) réinstallée(s)" End If
End Sub 'fs
isabelle
RENAUD Eric a écrit :
Bonjour,
Sur mon PC avec XL2003 et Winword 2003 ça fonctionne. Mon souci c'est que j'ai développé cette appli sous Excel 2003 avec l'activation de la référence Microsoft Word Object 11.0 Library. Sur un poste en 2000 comme il n'y a pas Microsoft Word Object 11.0 Library ça fonctionne pas, il faudrait Microsoft Word Object 9.0 Library. Comment résoudre ce probème ?
D'avance merci
bonjour renaud,
peut être que ce code de Frederic Sigonneau pourrais te dépanner,
http://frederic.sigonneau.free.fr/code/VBE/ReparerReferencesManquantes.txt
'Essayer de réinstaller les références manquantes d'un projet
Sub AddMissingRefs()
'examine les références d'un projet, repère celles qui
'sont déclarées manquantes et essaye de les réinstaller
'à tester
Dim LesRefs As Object, i&, Msg$, Cpt&, Rep&, Mnq&, Chemin$, Nom$
Set LesRefs = ThisWorkbook.VBProject.References
For i = 1 To LesRefs.Count
With LesRefs(i)
If .IsBroken Then
Mnq = Mnq + 1: Chemin = .FullPath: Nom = .Name
LesRefs.Remove LesRefs.Item(.Name)
If Dir(Chemin) = "" Then
Msg = "La librairie " & Nom & " est manquante et le fichier" & vbLf
Msg = Msg & "'" & Chemin & "'" & vbLf
Msg = Msg & "ne peut être trouvé pour l'installer."
MsgBox Msg, vbCritical
Cpt = Cpt + 1
Else
LesRefs.AddFromFile Chemin
Rep = Rep + 1
End If
End If
End With
Next i
If Mnq > 0 Then
If Cpt > 0 Then Msg = Cpt & " référence(s) toujours manquante(s)"
If Rep > 0 Then Msg = Msg & Rep & "référence(s) réinstallée(s)"
End If
End Sub 'fs
isabelle
RENAUD Eric a écrit :
Bonjour,
Sur mon PC avec XL2003 et Winword 2003 ça fonctionne.
Mon souci c'est que j'ai développé cette appli sous Excel 2003 avec
l'activation de la référence Microsoft Word Object 11.0 Library.
Sur un poste en 2000 comme il n'y a pas Microsoft Word Object 11.0
Library ça fonctionne pas, il faudrait Microsoft Word Object 9.0 Library.
Comment résoudre ce probème ?
'Essayer de réinstaller les références manquantes d'un projet
Sub AddMissingRefs() 'examine les références d'un projet, repère celles qui 'sont déclarées manquantes et essaye de les réinstaller 'à tester Dim LesRefs As Object, i&, Msg$, Cpt&, Rep&, Mnq&, Chemin$, Nom$
Set LesRefs = ThisWorkbook.VBProject.References For i = 1 To LesRefs.Count With LesRefs(i) If .IsBroken Then Mnq = Mnq + 1: Chemin = .FullPath: Nom = .Name LesRefs.Remove LesRefs.Item(.Name) If Dir(Chemin) = "" Then Msg = "La librairie " & Nom & " est manquante et le fichier" & vbLf Msg = Msg & "'" & Chemin & "'" & vbLf Msg = Msg & "ne peut être trouvé pour l'installer." MsgBox Msg, vbCritical Cpt = Cpt + 1 Else LesRefs.AddFromFile Chemin Rep = Rep + 1 End If End If End With Next i
If Mnq > 0 Then If Cpt > 0 Then Msg = Cpt & " référence(s) toujours manquante(s)" If Rep > 0 Then Msg = Msg & Rep & "référence(s) réinstallée(s)" End If
End Sub 'fs
isabelle
RENAUD Eric a écrit :
Bonjour,
Sur mon PC avec XL2003 et Winword 2003 ça fonctionne. Mon souci c'est que j'ai développé cette appli sous Excel 2003 avec l'activation de la référence Microsoft Word Object 11.0 Library. Sur un poste en 2000 comme il n'y a pas Microsoft Word Object 11.0 Library ça fonctionne pas, il faudrait Microsoft Word Object 9.0 Library. Comment résoudre ce probème ?
D'avance merci
michdenis
Place ce qui suit dans le ThisWorkbook de ton classeur :
'------------------------------ Private Sub Workbook_Open() On Error Resume Next ThisWorkbook.VBProject.References.AddFromGuid _ "{00020905-0000-0000-C000-000000000046}", 8, 4 End Sub '------------------------------
Prend le soin de décocher manuellement la bibliothèque "Microsoft word x object librairy", enregistre ton fichier et le ferme. lors de sa ré-ouverture, la bonne bibliothèque se chargera qu'importe la version de Microsoft office qu'il y a sur la machine.
"RENAUD Eric" a écrit dans le message de news:
Bonjour,
Sur mon PC avec XL2003 et Winword 2003 ça fonctionne. Mon souci c'est que j'ai développé cette appli sous Excel 2003 avec l'activation de la référence Microsoft Word Object 11.0 Library. Sur un poste en 2000 comme il n'y a pas Microsoft Word Object 11.0 Library ça fonctionne pas, il faudrait Microsoft Word Object 9.0 Library. Comment résoudre ce probème ?
D'avance merci
Place ce qui suit dans le ThisWorkbook de ton classeur :
'------------------------------
Private Sub Workbook_Open()
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromGuid _
"{00020905-0000-0000-C000-000000000046}", 8, 4
End Sub
'------------------------------
Prend le soin de décocher manuellement la bibliothèque
"Microsoft word x object librairy", enregistre ton fichier et le
ferme. lors de sa ré-ouverture, la bonne bibliothèque se
chargera qu'importe la version de Microsoft office qu'il y a
sur la machine.
"RENAUD Eric" <erenaud@hotmail.fr> a écrit dans le message de news:
Oy2bOGfNJHA.1960@TK2MSFTNGP04.phx.gbl...
Bonjour,
Sur mon PC avec XL2003 et Winword 2003 ça fonctionne.
Mon souci c'est que j'ai développé cette appli sous Excel 2003 avec
l'activation de la référence Microsoft Word Object 11.0 Library.
Sur un poste en 2000 comme il n'y a pas Microsoft Word Object 11.0
Library ça fonctionne pas, il faudrait Microsoft Word Object 9.0 Library.
Comment résoudre ce probème ?
Place ce qui suit dans le ThisWorkbook de ton classeur :
'------------------------------ Private Sub Workbook_Open() On Error Resume Next ThisWorkbook.VBProject.References.AddFromGuid _ "{00020905-0000-0000-C000-000000000046}", 8, 4 End Sub '------------------------------
Prend le soin de décocher manuellement la bibliothèque "Microsoft word x object librairy", enregistre ton fichier et le ferme. lors de sa ré-ouverture, la bonne bibliothèque se chargera qu'importe la version de Microsoft office qu'il y a sur la machine.
"RENAUD Eric" a écrit dans le message de news:
Bonjour,
Sur mon PC avec XL2003 et Winword 2003 ça fonctionne. Mon souci c'est que j'ai développé cette appli sous Excel 2003 avec l'activation de la référence Microsoft Word Object 11.0 Library. Sur un poste en 2000 comme il n'y a pas Microsoft Word Object 11.0 Library ça fonctionne pas, il faudrait Microsoft Word Object 9.0 Library. Comment résoudre ce probème ?
D'avance merci
michdenis
J'oubliais, tu as aussi cette alternative ...
Dans ton classeur, au lieu d'utiliser une liaison précoce, emploie une liaison tardive. En pratique, cela signifie ceci :
Au lieu de déclarer le type de variable comme ceci dans tes macro :
Dim xlWord As Word Dim XlDoc As Document
Écrit plutôt :
Dim xlWord As Object Dim XlDoc As Object Set xlWord = CreateObject("word.Application") Set XlDoc = xlWord.Documents.Open("c:xxx.doc")
Excel va se charger de faire la référence à la version de Word installé sur la machine. De plus, tu n'es pas tenu de charger la bibliothèque puisqu'excel s'en chargera.
"michdenis" a écrit dans le message de news:
Place ce qui suit dans le ThisWorkbook de ton classeur :
'------------------------------ Private Sub Workbook_Open() On Error Resume Next ThisWorkbook.VBProject.References.AddFromGuid _ "{00020905-0000-0000-C000-000000000046}", 8, 4 End Sub '------------------------------
Prend le soin de décocher manuellement la bibliothèque "Microsoft word x object librairy", enregistre ton fichier et le ferme. lors de sa ré-ouverture, la bonne bibliothèque se chargera qu'importe la version de Microsoft office qu'il y a sur la machine.
"RENAUD Eric" a écrit dans le message de news:
Bonjour,
Sur mon PC avec XL2003 et Winword 2003 ça fonctionne. Mon souci c'est que j'ai développé cette appli sous Excel 2003 avec l'activation de la référence Microsoft Word Object 11.0 Library. Sur un poste en 2000 comme il n'y a pas Microsoft Word Object 11.0 Library ça fonctionne pas, il faudrait Microsoft Word Object 9.0 Library. Comment résoudre ce probème ?
D'avance merci
J'oubliais, tu as aussi cette alternative ...
Dans ton classeur, au lieu d'utiliser une liaison
précoce, emploie une liaison tardive. En pratique,
cela signifie ceci :
Au lieu de déclarer le type de variable comme ceci
dans tes macro :
Dim xlWord As Word
Dim XlDoc As Document
Écrit plutôt :
Dim xlWord As Object
Dim XlDoc As Object
Set xlWord = CreateObject("word.Application")
Set XlDoc = xlWord.Documents.Open("c:xxx.doc")
Excel va se charger de faire la référence à la version de Word
installé sur la machine. De plus, tu n'es pas tenu de charger la
bibliothèque puisqu'excel s'en chargera.
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
eUSj7rfNJHA.4428@TK2MSFTNGP04.phx.gbl...
Place ce qui suit dans le ThisWorkbook de ton classeur :
'------------------------------
Private Sub Workbook_Open()
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromGuid _
"{00020905-0000-0000-C000-000000000046}", 8, 4
End Sub
'------------------------------
Prend le soin de décocher manuellement la bibliothèque
"Microsoft word x object librairy", enregistre ton fichier et le
ferme. lors de sa ré-ouverture, la bonne bibliothèque se
chargera qu'importe la version de Microsoft office qu'il y a
sur la machine.
"RENAUD Eric" <erenaud@hotmail.fr> a écrit dans le message de news:
Oy2bOGfNJHA.1960@TK2MSFTNGP04.phx.gbl...
Bonjour,
Sur mon PC avec XL2003 et Winword 2003 ça fonctionne.
Mon souci c'est que j'ai développé cette appli sous Excel 2003 avec
l'activation de la référence Microsoft Word Object 11.0 Library.
Sur un poste en 2000 comme il n'y a pas Microsoft Word Object 11.0
Library ça fonctionne pas, il faudrait Microsoft Word Object 9.0 Library.
Comment résoudre ce probème ?
Dans ton classeur, au lieu d'utiliser une liaison précoce, emploie une liaison tardive. En pratique, cela signifie ceci :
Au lieu de déclarer le type de variable comme ceci dans tes macro :
Dim xlWord As Word Dim XlDoc As Document
Écrit plutôt :
Dim xlWord As Object Dim XlDoc As Object Set xlWord = CreateObject("word.Application") Set XlDoc = xlWord.Documents.Open("c:xxx.doc")
Excel va se charger de faire la référence à la version de Word installé sur la machine. De plus, tu n'es pas tenu de charger la bibliothèque puisqu'excel s'en chargera.
"michdenis" a écrit dans le message de news:
Place ce qui suit dans le ThisWorkbook de ton classeur :
'------------------------------ Private Sub Workbook_Open() On Error Resume Next ThisWorkbook.VBProject.References.AddFromGuid _ "{00020905-0000-0000-C000-000000000046}", 8, 4 End Sub '------------------------------
Prend le soin de décocher manuellement la bibliothèque "Microsoft word x object librairy", enregistre ton fichier et le ferme. lors de sa ré-ouverture, la bonne bibliothèque se chargera qu'importe la version de Microsoft office qu'il y a sur la machine.
"RENAUD Eric" a écrit dans le message de news:
Bonjour,
Sur mon PC avec XL2003 et Winword 2003 ça fonctionne. Mon souci c'est que j'ai développé cette appli sous Excel 2003 avec l'activation de la référence Microsoft Word Object 11.0 Library. Sur un poste en 2000 comme il n'y a pas Microsoft Word Object 11.0 Library ça fonctionne pas, il faudrait Microsoft Word Object 9.0 Library. Comment résoudre ce probème ?