Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pour Raymond - Pbm fusion Word 2003 (suite)

15 réponses
Avatar
PHL
Bonjour,

Pour corriger un probl=E8me de fusion Word 2003, j'ai ajout=E9=20
dans outils r=E9f=E9rences la librairie "Microsoft Word 11.0=20
object library"

---> Sur les postes =E9quip=E9s de Word 2003, cela fonctionne

---> Sur les postes non =E9quip=E9s de word 2003,le programme=20
se plante d=E8s le d=E9marrage avec le message "Erreur de=20
compilation, projet ou biblioth=E8que introuvable". Et dans=20
Outils r=E9f=E9rences la librairie est coch=E9e MANQUANT (ce qui=20
est normal)

Est que quelqu'un a une id=E9e pour contourner ce probl=E8me=20
et permettrel'utilisation du logiciel sur des postes=20
=E9quip=E9s ou non de WOrd 2003

Merci d'avance

Philippe

10 réponses

1 2
Avatar
Jessy Sempere [MVP]
Bonjour

Si tu veux être sûr passe par une variable Objet et non une
variable Word.application comme ça tu n'es pas obligé de
référencer Word...

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"PHL" a écrit dans le message news:
232d501c45ea9$22b1d420$
Bonjour,

Pour corriger un problème de fusion Word 2003, j'ai ajouté
dans outils références la librairie "Microsoft Word 11.0
object library"

---> Sur les postes équipés de Word 2003, cela fonctionne

---> Sur les postes non équipés de word 2003,le programme
se plante dès le démarrage avec le message "Erreur de
compilation, projet ou bibliothèque introuvable". Et dans
Outils références la librairie est cochée MANQUANT (ce qui
est normal)

Est que quelqu'un a une idée pour contourner ce problème
et permettrel'utilisation du logiciel sur des postes
équipés ou non de WOrd 2003

Merci d'avance

Philippe
Avatar
Raymond [mvp]
Bonjour.

pas de message personnel, ici, toutes les compétences sont les bienvenues et
l'union fait la force.
ceci dit, regarde sur la page : http://access.vba.free.fr/isbroken.htm
cette fonction teste si une référence est corrompue. tu trouveras un
exemple qui affiche la liste de ces références. Bien entendu au lieu
d'afficher la liste tu supprimes la référence par remove : voir fonction
page : http://access.vba.free.fr/sup_reference.htm


--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"PHL" a écrit dans le message de
news:232d501c45ea9$22b1d420$
Bonjour,

Pour corriger un problème de fusion Word 2003, j'ai ajouté
dans outils références la librairie "Microsoft Word 11.0
object library"

---> Sur les postes équipés de Word 2003, cela fonctionne

---> Sur les postes non équipés de word 2003,le programme
se plante dès le démarrage avec le message "Erreur de
compilation, projet ou bibliothèque introuvable". Et dans
Outils références la librairie est cochée MANQUANT (ce qui
est normal)

Est que quelqu'un a une idée pour contourner ce problème
et permettrel'utilisation du logiciel sur des postes
équipés ou non de WOrd 2003

Merci d'avance

Philippe
Avatar
Maxence HUBICHE [MVP Access]
Désolé, je ne suis pas raymond :)
On m'a dit aussi, il y a peu, qu'il ne fallait pas mettre les noms dans les
sujet (??)

Pour répondre à ta question, sur les postes non equipés de Word 2003, tu as
au moins une version de word !
Parce que sinon, ca risque de ne pas marcher du tout !

Bon, si tu as word, quelque soit ta version, il faut que tu fasses du late
binding. Ca marche à tous les coups :

1/ Repère toutes les constantes que tu utilises et redéfinis les avec leur
valeurs dans ton module.
ex : Const wdDoNotSaveChanges as Long =0

2/ Retires les références à Word

3/ Changes les références à tes objets.
Exemple : Dim owdApp as New Word.Application
doit devenir :
Dim owdApp as Object
Set owdApp=CreateObject("Word.Application")

voilà :)

--
Maxence HUBICHE
Formateur et Developpeur Indépendant
Microsoft MVP Office Systems - Access
Rédacteur & Développeur sur http://www.developpez.com
Découvrez le forum Access de Developpez.com ici :
http://www.developpez.net/forums/viewforum.php?f8
"PHL" a écrit dans le message de
news:232d501c45ea9$22b1d420$
Bonjour,

Pour corriger un problème de fusion Word 2003, j'ai ajouté
dans outils références la librairie "Microsoft Word 11.0
object library"

---> Sur les postes équipés de Word 2003, cela fonctionne

---> Sur les postes non équipés de word 2003,le programme
se plante dès le démarrage avec le message "Erreur de
compilation, projet ou bibliothèque introuvable". Et dans
Outils références la librairie est cochée MANQUANT (ce qui
est normal)

Est que quelqu'un a une idée pour contourner ce problème
et permettrel'utilisation du logiciel sur des postes
équipés ou non de WOrd 2003

Merci d'avance

Philippe
Avatar
PHL
Bonjour Jessy,

J'ai déjà enlever Dim Word2003App As Word.Application car
cela ne fonctionnait pas.

Actuellement si j'enlève la librairie Word 2003 je peux :

ouvrir un document word à partir d'access

par contre pour la fusion, il créé un document à partir
d'un modèle mais il n'exécute pas la fusion (erreur 429)

As-tu une idée ?

merci d'avance,

Philippe

PS : Je te mets le bout de code, ce sera peut-être plus
facile de trouver mon erreur.

Case "Word 2003"
Dim Word2003App As Object
' Dim Word2003App As Word.Application Retiré car
cela ne fonctionne pas
Dim Word2003_Ouvert As Boolean
On Error Resume Next
Set Word2003App = GetObject
(, "Word.Application") 'Test Word ouvert
If Err.Number = 0
Then 'Word est ouvert
Set Word2003App = CreateObject
("Word.Application")
Word2003App.Visible =
True 'Ouverture Word
Word2003App.ChangeFileOpenDirectory Rep$
Word2003App.Documents.Add Template:=MDL$,
NewTemplate:úlse
With Word2003App.ActiveDocument.MailMerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:úlse
End With
' Création nouveau document à partir du
modèle
' du type de document et Fusion nouveau
document
Word2003App.Windows(1).Activate
' Accès au 1er document dans Fenêtre
(nouveau document)
Word2003App.ActiveWindow.Close
SaveChanges:=wdDoNotSaveChanges
' Ferme 1er document sans sauvegarde
Word2003App.ActiveDocument.SaveAs
FileName:=Fic$, FileFormat:=wdFormatDocument, _
LockComments:úlse, Password:="",
AddToRecentFiles:=True, WritePassword _
:="", ReadOnlyRecommended:úlse,
EmbedTrueTypeFonts:úlse, _
SaveNativePictureFormat:úlse,
SaveFormsData:úlse, SaveAsAOCELetter:= _
False ' Sauvegarde du document créé
Else ' Word est fermé

-----Message d'origine-----
Bonjour

Si tu veux être sûr passe par une variable Objet et non
une

variable Word.application comme ça tu n'es pas obligé de
référencer Word...

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"PHL" a écrit dans
le message news:

232d501c45ea9$22b1d420$
Bonjour,

Pour corriger un problème de fusion Word 2003, j'ai ajouté
dans outils références la librairie "Microsoft Word 11.0
object library"

---> Sur les postes équipés de Word 2003, cela fonctionne

---> Sur les postes non équipés de word 2003,le programme
se plante dès le démarrage avec le message "Erreur de
compilation, projet ou bibliothèque introuvable". Et dans
Outils références la librairie est cochée MANQUANT (ce qui
est normal)

Est que quelqu'un a une idée pour contourner ce problème
et permettrel'utilisation du logiciel sur des postes
équipés ou non de WOrd 2003

Merci d'avance

Philippe


.



Avatar
PHL
Bonjour,

J'ai pris bonne note de ta remarque "pas de message
personnel" et je ne recommencerais pas.

J'ai pensé supprimer la référence mais, par souci de
simplification de maintenance et de déploiement, j'ai un
seul Mde sur le serveur pour plusieurs utilisateurs avec
des versions différentes de Word.

Donc je vais supprimer la références pour tous les postes

Cordialement,

Philippe
-----Message d'origine-----
Bonjour.

pas de message personnel, ici, toutes les compétences
sont les bienvenues et

l'union fait la force.
ceci dit, regarde sur la page :
http://access.vba.free.fr/isbroken.htm

cette fonction teste si une référence est corrompue. tu
trouveras un

exemple qui affiche la liste de ces références. Bien
entendu au lieu

d'afficher la liste tu supprimes la référence par
remove : voir fonction

page : http://access.vba.free.fr/sup_reference.htm


--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"PHL" a écrit dans
le message de

news:232d501c45ea9$22b1d420$
Bonjour,

Pour corriger un problème de fusion Word 2003, j'ai ajouté
dans outils références la librairie "Microsoft Word 11.0
object library"

---> Sur les postes équipés de Word 2003, cela fonctionne

---> Sur les postes non équipés de word 2003,le programme
se plante dès le démarrage avec le message "Erreur de
compilation, projet ou bibliothèque introuvable". Et dans
Outils références la librairie est cochée MANQUANT (ce qui
est normal)

Est que quelqu'un a une idée pour contourner ce problème
et permettrel'utilisation du logiciel sur des postes
équipés ou non de WOrd 2003

Merci d'avance

Philippe


.



Avatar
Maxence HUBICHE [MVP Access]
il ne re²onnait pas tes variables.
Je t'avais dit de les redéclarer dans ton module...

--
Maxence HUBICHE
Formateur et Developpeur Indépendant
Microsoft MVP Office Systems - Access
Rédacteur & Développeur sur http://www.developpez.com
Découvrez le forum Access de Developpez.com ici :
http://www.developpez.net/forums/viewforum.php?f8
"PHL" a écrit dans le message de
news:23b2301c45eac$0b6571c0$
Bonjour Jessy,

J'ai déjà enlever Dim Word2003App As Word.Application car
cela ne fonctionnait pas.

Actuellement si j'enlève la librairie Word 2003 je peux :

ouvrir un document word à partir d'access

par contre pour la fusion, il créé un document à partir
d'un modèle mais il n'exécute pas la fusion (erreur 429)

As-tu une idée ?

merci d'avance,

Philippe

PS : Je te mets le bout de code, ce sera peut-être plus
facile de trouver mon erreur.

Case "Word 2003"
Dim Word2003App As Object
' Dim Word2003App As Word.Application Retiré car
cela ne fonctionne pas
Dim Word2003_Ouvert As Boolean
On Error Resume Next
Set Word2003App = GetObject
(, "Word.Application") 'Test Word ouvert
If Err.Number = 0
Then 'Word est ouvert
Set Word2003App = CreateObject
("Word.Application")
Word2003App.Visible True 'Ouverture Word
Word2003App.ChangeFileOpenDirectory Rep$
Word2003App.Documents.Add Template:=MDL$,
NewTemplate:úlse
With Word2003App.ActiveDocument.MailMerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:úlse
End With
' Création nouveau document à partir du
modèle
' du type de document et Fusion nouveau
document
Word2003App.Windows(1).Activate
' Accès au 1er document dans Fenêtre
(nouveau document)
Word2003App.ActiveWindow.Close
SaveChanges:=wdDoNotSaveChanges
' Ferme 1er document sans sauvegarde
Word2003App.ActiveDocument.SaveAs
FileName:=Fic$, FileFormat:=wdFormatDocument, _
LockComments:úlse, Password:="",
AddToRecentFiles:=True, WritePassword _
:="", ReadOnlyRecommended:úlse,
EmbedTrueTypeFonts:úlse, _
SaveNativePictureFormat:úlse,
SaveFormsData:úlse, SaveAsAOCELetter:= _
False ' Sauvegarde du document créé
Else ' Word est fermé

-----Message d'origine-----
Bonjour

Si tu veux être sûr passe par une variable Objet et non
une

variable Word.application comme ça tu n'es pas obligé de
référencer Word...

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"PHL" a écrit dans
le message news:

232d501c45ea9$22b1d420$
Bonjour,

Pour corriger un problème de fusion Word 2003, j'ai ajouté
dans outils références la librairie "Microsoft Word 11.0
object library"

---> Sur les postes équipés de Word 2003, cela fonctionne

---> Sur les postes non équipés de word 2003,le programme
se plante dès le démarrage avec le message "Erreur de
compilation, projet ou bibliothèque introuvable". Et dans
Outils références la librairie est cochée MANQUANT (ce qui
est normal)

Est que quelqu'un a une idée pour contourner ce problème
et permettrel'utilisation du logiciel sur des postes
équipés ou non de WOrd 2003

Merci d'avance

Philippe


.



Avatar
Raymond [mvp]
dans les mde il ne faut pas jouer avec les références car il ne sait pas les
manipuler.
Tu n'as qu'une solution viable, passer obligatoirement par un createobject
(sur un dim object) qui reconnaîtra la version installée.
en gros ça donne ceci:
Dim W_App as Object
Set W_App = CreateObject ("Word.Application")
With W_App
.Visible = True
.Documents.Open ("c:doc1.doc")
.ActiveDocument.SaveAs "c:Doc2.Doc"
.Quit
End With
Set W_App = Nothing

cette séquence prend n'importe quelle version word.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"PHL" a écrit dans le message de
news:23a9201c45eac$da9091f0$
Bonjour,

J'ai pris bonne note de ta remarque "pas de message
personnel" et je ne recommencerais pas.

J'ai pensé supprimer la référence mais, par souci de
simplification de maintenance et de déploiement, j'ai un
seul Mde sur le serveur pour plusieurs utilisateurs avec
des versions différentes de Word.

Donc je vais supprimer la références pour tous les postes

Cordialement,

Philippe
Avatar
PHL
re-bonjour,

J'utilise actuellement la séquence que tu proposes, cela
fonctionne bien pour ouvrir un document existant.

Par contre lorsque je veux faire une fusion:

Le document est créé à partir d'un modèle, mais la fusion
ne se fait pas

ci-joint le petit bout de code qui pose problème,tu
trouveras peut-être l'erreur

En parallèle je vais tester la solution proposée par
Maxence

merci d'avance

Philippe

Case "Word 2003"
Dim Word2003App As Object
' Dim Word2003App As Word.Application Retiré car
cela ne fonctionne pas
Dim Word2003_Ouvert As Boolean
On Error Resume Next
Set Word2003App = GetObject
(, "Word.Application") 'Test Word ouvert
If Err.Number = 0
Then 'Word est ouvert
Set Word2003App = CreateObject
("Word.Application")
Word2003App.Visible =
True 'Ouverture Word
Word2003App.ChangeFileOpenDirectory Rep$
Word2003App.Documents.Add Template:=MDL$,
NewTemplate:úlse
With Word2003App.ActiveDocument.MailMerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:úlse
End With
' Création nouveau document à partir du
modèle
' du type de document et Fusion nouveau
document
Word2003App.Windows(1).Activate
' Accès au 1er document dans Fenêtre
(nouveau document)
Word2003App.ActiveWindow.Close
SaveChanges:=wdDoNotSaveChanges
' Ferme 1er document sans sauvegarde
Word2003App.ActiveDocument.SaveAs
FileName:=Fic$, FileFormat:=wdFormatDocument, _
LockComments:úlse, Password:="",
AddToRecentFiles:=True, WritePassword _
:="", ReadOnlyRecommended:úlse,
EmbedTrueTypeFonts:úlse, _
SaveNativePictureFormat:úlse,
SaveFormsData:úlse, SaveAsAOCELetter:= _
False ' Sauvegarde du document créé
Else ' Word est fermé
-----Message d'origine-----
dans les mde il ne faut pas jouer avec les références car
il ne sait pas les

manipuler.
Tu n'as qu'une solution viable, passer obligatoirement
par un createobject

(sur un dim object) qui reconnaîtra la version installée.
en gros ça donne ceci:
Dim W_App as Object
Set W_App = CreateObject ("Word.Application")
With W_App
.Visible = True
.Documents.Open ("c:doc1.doc")
.ActiveDocument.SaveAs "c:Doc2.Doc"
.Quit
End With
Set W_App = Nothing

cette séquence prend n'importe quelle version word.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"PHL" a écrit dans
le message de

news:23a9201c45eac$da9091f0$
Bonjour,

J'ai pris bonne note de ta remarque "pas de message
personnel" et je ne recommencerais pas.

J'ai pensé supprimer la référence mais, par souci de
simplification de maintenance et de déploiement, j'ai un
seul Mde sur le serveur pour plusieurs utilisateurs avec
des versions différentes de Word.

Donc je vais supprimer la références pour tous les postes

Cordialement,

Philippe


.



Avatar
PHL
Bonjour Maxence,

Je n'ai pas bien compris ce que tu appeles constante et ce
que je dois déclarer dans mon code que j'ai joint tout à
l'heure.

Merci de ton aide

Cordialement

Philippe
-----Message d'origine-----
Désolé, je ne suis pas raymond :)
On m'a dit aussi, il y a peu, qu'il ne fallait pas mettre
les noms dans les

sujet (??)

Pour répondre à ta question, sur les postes non equipés
de Word 2003, tu as

au moins une version de word !
Parce que sinon, ca risque de ne pas marcher du tout !

Bon, si tu as word, quelque soit ta version, il faut que
tu fasses du late

binding. Ca marche à tous les coups :

1/ Repère toutes les constantes que tu utilises et
redéfinis les avec leur

valeurs dans ton module.
ex : Const wdDoNotSaveChanges as Long =0

2/ Retires les références à Word

3/ Changes les références à tes objets.
Exemple : Dim owdApp as New Word.Application
doit devenir :
Dim owdApp as Object
Set owdApp=CreateObject("Word.Application")

voilà :)

--
Maxence HUBICHE
Formateur et Developpeur Indépendant
Microsoft MVP Office Systems - Access
Rédacteur & Développeur sur http://www.developpez.com
Découvrez le forum Access de Developpez.com ici :
http://www.developpez.net/forums/viewforum.php?f8
"PHL" a écrit dans
le message de

news:232d501c45ea9$22b1d420$
Bonjour,

Pour corriger un problème de fusion Word 2003, j'ai ajouté
dans outils références la librairie "Microsoft Word 11.0
object library"

---> Sur les postes équipés de Word 2003, cela fonctionne

---> Sur les postes non équipés de word 2003,le programme
se plante dès le démarrage avec le message "Erreur de
compilation, projet ou bibliothèque introuvable". Et dans
Outils références la librairie est cochée MANQUANT (ce qui
est normal)

Est que quelqu'un a une idée pour contourner ce problème
et permettrel'utilisation du logiciel sur des postes
équipés ou non de WOrd 2003

Merci d'avance

Philippe


.



Avatar
Jessy Sempere [MVP]
Bonjour

Ben tu fais appeles dans ton code à des constantes qui dépendent
de la référence Word c'est de celle là qu'il te parlait...

Exemple, tu utilises :
wdDefaultLastRecord
il faut du coup que tu en déclares une toi même, pour connaître la valeur
correspondante, tu peux utiliser l'explorateur d'bjet.

Pour celle là, ça donnerait :
Const wd_DefaultLastRecord = &HFFFFFFF0

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"PHL" a écrit dans le message news:
23b4e01c45eb3$722830d0$
Bonjour Maxence,

Je n'ai pas bien compris ce que tu appeles constante et ce
que je dois déclarer dans mon code que j'ai joint tout à
l'heure.

Merci de ton aide

Cordialement

Philippe
-----Message d'origine-----
Désolé, je ne suis pas raymond :)
On m'a dit aussi, il y a peu, qu'il ne fallait pas mettre
les noms dans les

sujet (??)

Pour répondre à ta question, sur les postes non equipés
de Word 2003, tu as

au moins une version de word !
Parce que sinon, ca risque de ne pas marcher du tout !

Bon, si tu as word, quelque soit ta version, il faut que
tu fasses du late

binding. Ca marche à tous les coups :

1/ Repère toutes les constantes que tu utilises et
redéfinis les avec leur

valeurs dans ton module.
ex : Const wdDoNotSaveChanges as Long =0

2/ Retires les références à Word

3/ Changes les références à tes objets.
Exemple : Dim owdApp as New Word.Application
doit devenir :
Dim owdApp as Object
Set owdApp=CreateObject("Word.Application")

voilà :)

--
Maxence HUBICHE
Formateur et Developpeur Indépendant
Microsoft MVP Office Systems - Access
Rédacteur & Développeur sur http://www.developpez.com
Découvrez le forum Access de Developpez.com ici :
http://www.developpez.net/forums/viewforum.php?f8
"PHL" a écrit dans
le message de

news:232d501c45ea9$22b1d420$
Bonjour,

Pour corriger un problème de fusion Word 2003, j'ai ajouté
dans outils références la librairie "Microsoft Word 11.0
object library"

---> Sur les postes équipés de Word 2003, cela fonctionne

---> Sur les postes non équipés de word 2003,le programme
se plante dès le démarrage avec le message "Erreur de
compilation, projet ou bibliothèque introuvable". Et dans
Outils références la librairie est cochée MANQUANT (ce qui
est normal)

Est que quelqu'un a une idée pour contourner ce problème
et permettrel'utilisation du logiciel sur des postes
équipés ou non de WOrd 2003

Merci d'avance

Philippe


.



1 2