OVH Cloud OVH Cloud

Publipostage ACCESS / Word 2000

6 réponses
Avatar
Ppm
Bonjour à tous,

J'ai une appli ACCESS et je voulais utiliser les fonctions de remplacement
pour effectuer mon publipostage.
Mais lorsque je lance la fonction, rien ne se passe sur mon document.
Je ne veux pas utiliser les signets car je veux pouvoir remplacer toutes les
occurences d'une même donnée.
Si quelqu'un peut m'expliquer pourquoi ça ne marche pas???
Merci d'avance.

Ppm



Dim W_App As Object
Set W_App = CreateObject("Word.Application")
With W_App
.Visible = True
.Documents.Open MonFic
.Selection.Find.ClearFormatting
.Selection.Find.Replacement.ClearFormatting
.Selection.Find.Text = "<Titre>"
.Selection.Find.Replacement.Text = "Monsieur"
.Selection.Find.Forward = True
.Selection.Find.Wrap = wdFindContinue
.Selection.Find.Format = False
.Selection.Find.MatchCase = False
.Selection.Find.MatchWholeWord = False
.Selection.Find.MatchWildcards = False
.Selection.Find.MatchSoundsLike = False
.Selection.Find.MatchAllWordForms = False
.Selection.Find.Execute Replace:=wdReplaceAll
.ActiveDocument.PrintOut False
.ActiveDocument.Close wdDoNotSaveChanges
.Quit
End With
Set W_App = Nothing

6 réponses

Avatar
Raymond [mvp]
Bonjour.

Il y a confusion avec le with.

je te donne ci-après un modèle standard qu'on peut utiliser et qui
fonctionne que tu adapteras à ton souci. Bien référencer la librairie word
malgré qu'on passe par CreateObject("Word.Application")
car certaines propriétés ne seraient pas reconnues. selon le niveau word
également il peut y avoir des propriétés qui changent.

Private Sub Commande4_Click()
Dim W_App As Object
Set W_App = CreateObject("Word.Application")
With W_App
.Visible = True
.Documents.Open ("c:doc1.doc") ==> MonFic
With .Selection.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "<Titre>"
.Replacement.Text = "Monsieur"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchKashida = False
.MatchDiacritics = False
.MatchAlefHamza = False
.MatchControl = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.Execute Replace:=wdReplaceAll
End With
End With
Set W_App = Nothing
End Sub

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


"Ppm" a écrit dans le message de
news:3ff5ee63$0$22313$
Bonjour à tous,

J'ai une appli ACCESS et je voulais utiliser les fonctions de remplacement
pour effectuer mon publipostage.


Avatar
Ppm
Bonjour,

Sans vouloir te contredir, le
With .Selection.Find
ne fait que simplifier l'écriture du code pour éviter la répétition,

J'ai testé ton code, et le résultat est le même, ma recherche "<Titre>" est
sélectionnée mais pas remplacée :-(

Par contre, peux-tu me donner plus de précision sur le référencement de la
librairie Word ???
J'ai peut-être omis cette étape?

Merci d'avance pour les infos.

Ppm





"Raymond [mvp]" a écrit dans le message de
news:
Bonjour.

Il y a confusion avec le with.

je te donne ci-après un modèle standard qu'on peut utiliser et qui
fonctionne que tu adapteras à ton souci. Bien référencer la librairie word
malgré qu'on passe par CreateObject("Word.Application")
car certaines propriétés ne seraient pas reconnues. selon le niveau word
également il peut y avoir des propriétés qui changent.

Private Sub Commande4_Click()
Dim W_App As Object
Set W_App = CreateObject("Word.Application")
With W_App
.Visible = True
.Documents.Open ("c:doc1.doc") ==> MonFic
With .Selection.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "<Titre>"
.Replacement.Text = "Monsieur"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchKashida = False
.MatchDiacritics = False
.MatchAlefHamza = False
.MatchControl = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.Execute Replace:=wdReplaceAll
End With
End With
Set W_App = Nothing
End Sub

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


"Ppm" a écrit dans le message de
news:3ff5ee63$0$22313$
Bonjour à tous,

J'ai une appli ACCESS et je voulais utiliser les fonctions de
remplacement


pour effectuer mon publipostage.






Avatar
Raymond [mvp]
Je l'est testé et ça marchait chez moi. (word 2003)

pour référencer word:
Alt+F11
menu outils, références
cocher microsoft word 9.0 object library.

tu n'avais pas d'erreur de compilation sans la librairie ?

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


"Ppm" a écrit dans le message de
news:3ff6ce99$0$29090$
Bonjour,

Sans vouloir te contredir, le
With .Selection.Find
ne fait que simplifier l'écriture du code pour éviter la répétition,

J'ai testé ton code, et le résultat est le même, ma recherche "<Titre>"
est

sélectionnée mais pas remplacée :-(

Par contre, peux-tu me donner plus de précision sur le référencement de la
librairie Word ???
J'ai peut-être omis cette étape?

Merci d'avance pour les infos.

Ppm


Avatar
Ppm
Oui effectivement on ne travaille pas avec les même outils. (je faisais
comme ça en VB6)
Meis là, je suis sous ACCESS 2000 et WORD 2000
et sous access 2000 on ne référence pas les librairies :-(
et chez moi ça ne marche pas.

Je peux commander l'ouverture, l'impression, la fermeture d'un document
word, mais les fonctions de remplacement ou de suppression de fonctionnent
pas. :-(((







"Raymond [mvp]" a écrit dans le message de
news:
Je l'est testé et ça marchait chez moi. (word 2003)

pour référencer word:
Alt+F11
menu outils, références
cocher microsoft word 9.0 object library.

tu n'avais pas d'erreur de compilation sans la librairie ?

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


"Ppm" a écrit dans le message de
news:3ff6ce99$0$29090$
Bonjour,

Sans vouloir te contredir, le
With .Selection.Find
ne fait que simplifier l'écriture du code pour éviter la répétition,

J'ai testé ton code, et le résultat est le même, ma recherche "<Titre>"
est

sélectionnée mais pas remplacée :-(

Par contre, peux-tu me donner plus de précision sur le référencement de
la


librairie Word ???
J'ai peut-être omis cette étape?

Merci d'avance pour les infos.

Ppm






Avatar
Raymond [mvp]
c'est bien ce que je t'ai dit, malgré que .... il faut référencer word dans
les références sinon tu as des erreurs. on travaille bien avec les mêmes
outils access et word. cheez moi sous access 2000 et word 2000 en
référençant la librairie ça marche. si je ne référence pas la librairie ça
ne marche pas. je pense que c'est pareil.

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


"Ppm" a écrit dans le message de
news:3ff6d64b$0$29078$
Oui effectivement on ne travaille pas avec les même outils. (je faisais
comme ça en VB6)
Meis là, je suis sous ACCESS 2000 et WORD 2000
et sous access 2000 on ne référence pas les librairies :-(
et chez moi ça ne marche pas.

Je peux commander l'ouverture, l'impression, la fermeture d'un document
word, mais les fonctions de remplacement ou de suppression de fonctionnent
pas. :-(((


Avatar
Ppm
Merci beaucoup pour tes explications, je cherchais les références dans la
fenêtre principale et pas dans l'éditeur de code. (habitudes de VB ;-) )
J'ai rajouté la librairie "microsoft word 9.0 object library" et cela marche
impec!!!
Encore merci pour tes précieuses infos. :-)))
Ppm




"Raymond [mvp]" a écrit dans le message de
news: Om6#
c'est bien ce que je t'ai dit, malgré que .... il faut référencer word
dans

les références sinon tu as des erreurs. on travaille bien avec les mêmes
outils access et word. cheez moi sous access 2000 et word 2000 en
référençant la librairie ça marche. si je ne référence pas la librairie ça
ne marche pas. je pense que c'est pareil.

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


"Ppm" a écrit dans le message de
news:3ff6d64b$0$29078$
Oui effectivement on ne travaille pas avec les même outils. (je faisais
comme ça en VB6)
Meis là, je suis sous ACCESS 2000 et WORD 2000
et sous access 2000 on ne référence pas les librairies :-(
et chez moi ça ne marche pas.

Je peux commander l'ouverture, l'impression, la fermeture d'un document
word, mais les fonctions de remplacement ou de suppression de
fonctionnent


pas. :-(((