OVH Cloud OVH Cloud

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

5 réponses

1 2
Avatar
Maxence HUBICHE [MVP Access]
les constantes, ce sont les mots qui commencent par wd... dans Word.
Ils s'agit de valeurs inchangeantes, auquelles on a donné un nom.
voici quelques constantes que tu utilises :
wdSendToNewDocument
wdDefaultFirstRecord
wdDefaultLastRecord
wdFormatDocument
...

Pour connaitre leur valeur,
AVANT de retirer la référence à Word, il te suffisait, dans la fenêtre
exécution (CTRL + G) de taper ? suivi de la constante dont tu voulais la
valeur.
par exemple, pour avoir la valeur de wdFormatDocument, dans le fenêtre
exécution, tu faisais :
? wdFormatDocument (puis {ENTREE})
et sur la ligne en dessous, il te donnait :0

Maintenant, dans ton module, tu peux déclarer ta constante :
Const wdFormatDocument as Long=0

puisque ta constante est déclarée, le fait de retirer la référence qui les
contient te permet de ne pus avoir de problèmes dans ton code.

voili :)
A ton service :)

--
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: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


.



Avatar
PHL
Merci pour ses éclaircissements,

Philippe
-----Message d'origine-----
les constantes, ce sont les mots qui commencent par wd...
dans Word.

Ils s'agit de valeurs inchangeantes, auquelles on a donné
un nom.

voici quelques constantes que tu utilises :
wdSendToNewDocument
wdDefaultFirstRecord
wdDefaultLastRecord
wdFormatDocument
....

Pour connaitre leur valeur,
AVANT de retirer la référence à Word, il te suffisait,
dans la fenêtre

exécution (CTRL + G) de taper ? suivi de la constante
dont tu voulais la

valeur.
par exemple, pour avoir la valeur de wdFormatDocument,
dans le fenêtre

exécution, tu faisais :
? wdFormatDocument (puis {ENTREE})
et sur la ligne en dessous, il te donnait :0

Maintenant, dans ton module, tu peux déclarer ta
constante :

Const wdFormatDocument as Long=0

puisque ta constante est déclarée, le fait de retirer la
référence qui les

contient te permet de ne pus avoir de problèmes dans ton
code.


voili :)
A ton service :)

--
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: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


.




.




Avatar
PHL
Merci,

demain je test tout cela

Encore merci de votre aide à tous

Philippe
-----Message d'origine-----
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


.




.




Avatar
Raymond [mvp]
pas facile à lire ton code, surtout qu'on ne peut même pas le charger dans
une base vierge.
faut tout repasser ligne à ligne c'est fastidieux.
exemple, tu utilises .mailmerge et .datasource mais je ne trouve pas le
OpenDataSource.
si tu ne trouves pas, je relirais demain à tête reposée, comme louis XVI.
--
@+
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:233b001c45eb1$fb6f6360$
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
Avatar
PHL
Bonsoir,

Il n'y a pas de OpenDataSource.

C'est défini dans le modèle par Outils, publipostage
Obtenir les données.

c'st effectivement un autre problème car de temps en temps
on perd (je ne sais pas pourquoi la source des données),
il faut alors refaire la manip au niveau du modèle pour
obtenir les données

Si tu veux + de code je peux te l'envoyer demain si cela
peut être plus lisible

Merci

Philippe
-----Message d'origine-----
pas facile à lire ton code, surtout qu'on ne peut même
pas le charger dans

une base vierge.
faut tout repasser ligne à ligne c'est fastidieux.
exemple, tu utilises .mailmerge et .datasource mais je ne
trouve pas le

OpenDataSource.
si tu ne trouves pas, je relirais demain à tête reposée,
comme louis XVI.

--
@+
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:233b001c45eb1$fb6f6360$
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


.



1 2