Pour Raymond - Pbm fusion Word 2003 (suite)

Le
PHL
Bonjour,

Pour corriger un problme de fusion Word 2003, j'ai ajout
dans outils rfrences la librairie "Microsoft Word 11.0
object library"

> Sur les postes quips de Word 2003, cela fonctionne

> Sur les postes non quips de word 2003,le programme
se plante ds le dmarrage avec le message "Erreur de
compilation, projet ou bibliothque introuvable". Et dans
Outils rfrences la librairie est coche MANQUANT (ce qui
est normal)

Est que quelqu'un a une ide pour contourner ce problme
et permettrel'utilisation du logiciel sur des postes
quips ou non de WOrd 2003

Merci d'avance

Philippe

  • Partager ce contenu :
Vos réponses Page 1 / 2
Trier par : date / pertinence
Jessy Sempere [MVP]
Le #5268371
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" 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
Raymond [mvp]
Le #5268361
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" 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
Maxence HUBICHE [MVP Access]
Le #5268341
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" 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
PHL
Le #5268311
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" 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


.



PHL
Le #5268301
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" 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


.



Maxence HUBICHE [MVP Access]
Le #5268271
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" 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" 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


.



Raymond [mvp]
Le #5268241
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" 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
PHL
Le #5268211
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" 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


.



PHL
Le #5268161
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" 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


.



Jessy Sempere [MVP]
Le #5268111
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" 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" 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


.



Publicité
Poster une réponse
Anonyme