Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Piloter Word avec Excel en VBA

5 réponses
Avatar
Starwing
Bonjour,

Est-il possible, à partir d'un document word construit préalablement et
pouvant contenir des figures géométriques (Ex : carrés) et contenant
plusieurs paragrahes, d'enregistrer ce modèle sous un autre nom et de venir
modifier certains éléments du texte comme le nom ou d' enlever le deuxième
paragraphe ou d'ajouter un autre paragraphe etc. Tout cela à partir d'Excel?

Si vous avez quelques pistes de code que je pourrais utiliser, surtout pour
modifier certains éléments du texte, je suis preneur.

Merci d'avance,

Starwing

5 réponses

Avatar
Geo
Bonjour Starwing
[ Cette réponse est faite sur le forum public Word :
news://msnews.microsoft.com/microsoft.public.fr.word ]



Est-il possible, à partir d'un document word construit préalablement et pouvant
contenir [...] Tout cela à partir d'Excel?



La question aurait peut-être été mieux placée sur le forum Excel, mais
une solution :
Dim AppWord As Variant
Set AppWord = CreateObject("Word.Application")

et préfixer toutes les commandes Word avec AppWord

exemple :
AppWord.Documents.Open Dossier & "MonModèle.dotx"

--
A+
Avatar
Gloops
Bonjour,

Geo a écrit, le 01/09/2009 07:55 :
La question aurait peut-être été mieux placée sur le forum Exce l



Oh, alors ça, c'est précisément la principale difficulté de l'exe rcice :
savoir quelles informations chercher dans l'aide d'une application, et
quelles informations chercher dans l'aide de l'autre.

C'est vrai que ce que tu dis ci-dessous aurait bien sa place dans le
forum Excel, maintenant si on veut agir sur le document il va falloir
savoir quelles méthodes y appliquer, et alors ça c'est ici qu'il faud ra
poser la question.

On appliquera à AppWord les méthodes qu'on aurait appliquées à
Application dans une procédure Word. D'ailleurs il vaut autant écrire et
tester la procédure sous Word d'abord, et la transcrire sous Excel ensu ite.

, mais
une solution :
Dim AppWord As Variant


en mettant Dim AppWord As Word.Application on bénéficie de
l'intellisense (complétion automatique), ça peut être pratique.

Set AppWord = CreateObject("Word.Application")

et préfixer toutes les commandes Word avec AppWord

exemple :
AppWord.Documents.Open Dossier & "MonModèle.dotx"




et d'ailleurs on peut avoir besoin de
Set AppDoc = AppWord.Documents.Open(Dossier & MonModèle.dotx")

(ou .doc ?)

objet auquel on appliquera les méthodes qui se seraient appliquées à
Document.

Attention que la chaîne de caractères Dossier se termine par une barr e
inverse.
Avatar
Geo
Bonjour Gloops

La question aurait peut-être été mieux placée sur le forum Excel



Oh, alors ça, c'est précisément la principale difficulté de l'exercice : savoir quelles
informations chercher dans l'aide d'une application, et quelles informations chercher
dans l'aide de l'autre.



Aussi avais-je mis prudemment un "peut-être".

[...]

en mettant Dim AppWord As Word.Application on bénéficie de l'intellisense



[...]

et d'ailleurs on peut avoir besoin de
Set AppDoc = AppWord.Documents.Open(Dossier & MonModèle.dotx")



Merci pour ces remarques judicieuses.

--
A+
Avatar
Lotre
Bonjour,

Geo wrote:
Bonjour Gloops
en mettant Dim AppWord As Word.Application on bénéficie de
l'intellisense et d'ailleurs on peut avoir besoin de
Set AppDoc = AppWord.Documents.Open(Dossier & MonModèle.dotx")





De plus (on le voit sans effort avec intellisense) la méthode open
possède plusieurs arguments optionnels après le chemin vers le fichier
à ouvrir... Il en est un qui est utile quand on veut manipuler un
document que l'utilisateur n'a pas besoin d'admirer ... :
c'est l'argument "visible" qui permet d'ouvrir un document sans créer
la fenêtre associée. Il est tout à fait à la fin ... Le plus dur
consiste à compter les virgules ;o)

Set AppDoc = AppWord.Documents.Open( _
CheminComplet, , , , , , , , , , , False)

Cordialement,

HB
Avatar
Geo
Bonjour

Le plus dur consiste à compter les virgules



C'est là où les paramètres nommés sont appréciés.

--
A+