Macro Word 2010 / Autoexec replace - VB/VBA/VBS - Programmation
Marsh Posté le 23-01-2013 à 19:49:49
Je n'ai pas testé mais à la place de Selection (un peu idiot à l'ouverture d'un document),
j'essaierais plutôt avec ActiveDocument.Range …
Marsh Posté le 23-01-2013 à 19:55:14
AutoExec est plutôt obsolète !
Cela fait 10 ans qu'il faut regarder du côté des évènements d'un document,
du genre Document_Open dans le module ThisDocument …
Marsh Posté le 01-02-2013 à 14:54:35
Désolé de ne répondre que maintenant, j'ai peu de temps à consacrer à ce point particulier donc je progresse en échelonnant mon temps.
En cherchant et en testant plsuieurs méthodes, ca fonctionne avec :
Code :
|
En me placant la macro dans mon AutoOpen du document.
Ca marche très bien sur les données présentes dans le document, dès l'ouverture, je vois les données remplacées.
Par contre (niveau 2 de difficulté), il s'agit en fait de données fusionnées, j'aurai donc besoin de lancer automatiquement cette macro juste après la fusion. Y'a t'il un évènement qui puisse déterminer ce moment ?
En gros, c'est une edition fusionnée, Word s'ouvre en silencieux, fusionne, imprime et se ferme (mais ne s'ouvre jamais visuellement en conditions de prod).
Il ne me manque donc plus que l'étape "trouver l'évènement post-fusion".
Marsh Posté le 01-02-2013 à 15:15:43
Si la fusion se fait par VBA, il suffit juste d'ajouter le code en fin de celui concernant cette fusion,
sinon je ne vois pas de solution …
Marsh Posté le 01-02-2013 à 15:52:41
Je ne saurais dire, c'est un soft en hyperfile SQL qui pousse les données dans un TXT, ouvre l'état et fusionne.
J'ai vu certaines méthodes "AfterMerge" il faut surement que je creuse dans ce sens...
Marsh Posté le 23-01-2013 à 18:33:23
Bonjour,
Malgré mes recherches je n'arrive pas au bout de mon objectif...
Je cherche à ce que, dès l'ouverture du document, et dans tout le document dans son ensemble, une chaine soit remplacée par une autre (en l'occurence, "**" par "* *" ).
C'est ma toute première macro, je manque d'expérience de base dans ce sujet.
Voici mon code :
Quand le parsing atteint "Selection.WholeStory" il ne comprend à priori pas la variable "Selection" (peut-être parce qu'à l'ouverture exacte du document et donc à l'éxécution de la macro, le curseur n'a pas encore été initialisé dans la page)...?
Je suis preneur de toute solution, merci beaucoup d'avance !
De plus, il s'agit d'un document de publipostage ouvert par un progiciel, et je souhaite que la macro s'éxécute sur les données après la fusion automatique (détail important mais si je peux déjà arriver à faire que la macro se lance au démarrage, c'est déjà un progrès)..!