Voir si this vous donne un début sur l'automatisation des mots en utilisant python.
Une fois que vous avez ouvert un document, vous pouvez procéder comme suit.
Après le code suivant, vous pouvez Fermer le document & ouvrir un autre.
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "test"
.Replacement.Text = "test2"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchKashida = False
.MatchDiacritics = False
.MatchAlefHamza = False
.MatchControl = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Le code ci-dessus remplace le texte "test" par "test2" et effectue un "replace all".
Vous pouvez activer ou désactiver les autres options en fonction de ce dont vous avez besoin. La manière simple d'apprendre ceci est de créer une macro avec les actions que vous voulez prendre, voir le code généré & l'utiliser dans votre propre exemple (avec/sans paramètres modifiés).
EDIT: Après avoir regardé un code par Matthew, vous pouvez effectuer les opérations suivantes
MSWord.Documents.Open(filename)
Selection = MSWord.Selection
Et puis traduire le code VB ci-dessus pour Python.
Remarque: Le code VB suivant est un moyen abrégé d'affecter une propriété sans utiliser la syntaxe longue.
(VB)
With Selection.Find
.Text = "test"
.Replacement.Text = "test2"
End With
Python
find = Selection.Find
find.Text = "test"
find.Replacement.Text = "test2"
Pardon my connaissance de python. Mais j'espère que vous aurez l'idée d'aller de l'avant.
N'oubliez pas de faire une sauvegarde & Fermez le document, une fois l'opération de recherche/remplacement terminée. En fin de compte, vous pouvez appeler le MSWord.Quit
(pour libérer l'objet Word de la mémoire).
Merci pour la réponse! – Geo
La réponse de Bernie inclut le code Python complet actuel. Cette réponse pourrait être plus laconique et inclure un python plus complet. – Epu