OVH Cloud OVH Cloud

visual basic et word

3 réponses
Avatar
claude
par quelle commande visual basic peut on r=E9cup=E9rer le=20
contenu d'une table des mati=E8res dans word
Merci beaucoup pour vos id=E9es.

3 réponses

Avatar
Zoury
Salut Claude! :O)

C'est possible par automation..
'***
' Ajouter la référence Microsoft Word X.X Object Library
' Module1
Option Explicit

Private Sub Main()

Dim app As Word.Application
Dim doc As Word.Document
Dim toc As Word.TableOfContents

Set app = New Word.Application
Set doc = app.Documents.Open("c:doc.doc")

' boucle la collection de tables des matières
For Each toc In doc.TablesOfContents
' ton code ici..
Next toc

Call doc.Close(True)
Call app.Quit(True)

End Sub
'***


--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
"claude" a écrit dans le message de
news:1b34001c44fa6$b6ae53e0$
par quelle commande visual basic peut on récupérer le
contenu d'une table des matières dans word
Merci beaucoup pour vos idées.
Avatar
claude
SAlut Yanick!
Merci beaucoup pour ta réponse, mais c'est justement à
l'endroit ou tu m'indiques 'ton code ici ' ou je reste en
plan!
En fait j'ai ds un rep un nombre de documents Word de
titre fmxx.doc
Ce que je voudrai faire, c'est les lire et copier dans un
fichier supplémentaire de nom 'sommaire.doc' par exemple
le contenu des tables des matieres des fichiers fmxx.doc
Tout cela pour une recherche par theme de facon à eviter
d'ouvrir les x fichiers fmxx.doc
au niveau des proprietes de l'objet tablesofcontents j'ai
trouve ceci:
.add
.application
.count
.creator
.format
.item
.markentry

mais rien qui me permette de recuperer le contenu de la
table des matieres pour le copier dans mon fichier
sommaire.doc

Merci beaucoup pour tes suggestions.

Claude.

-----Message d'origine-----
Salut Claude! :O)

C'est possible par automation..
'***
' Ajouter la référence Microsoft Word X.X Object Library
' Module1
Option Explicit

Private Sub Main()

Dim app As Word.Application
Dim doc As Word.Document
Dim toc As Word.TableOfContents

Set app = New Word.Application
Set doc = app.Documents.Open("c:doc.doc")

' boucle la collection de tables des matières
For Each toc In doc.TablesOfContents
' ton code ici..
Next toc

Call doc.Close(True)
Call app.Quit(True)

End Sub
'***


--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 -


http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml -


http://www.mztools.com/
"claude" a écrit


dans le message de
news:1b34001c44fa6$b6ae53e0$
par quelle commande visual basic peut on récupérer le
contenu d'une table des matières dans word
Merci beaucoup pour vos idées.


.



Avatar
Zoury
Salut Claude! :O)

au niveau des proprietes de l'objet tablesofcontents j'ai
trouve ceci:
.add
.application
.count
.creator
.format
.item
.markentry



L'objet TablesOfContents est en fait une Collection d'objets
TableOfContents. On peut en arriver à cette déduction par les méthodes
Add(), Item() et Count() de l'objet. Tu peux ainsi accéder à n'importe
laquelle des tables des matières contenu dans un document grace à cette
collection. Comme par exemple pour accéder à la première table des matières
tu dois faire doc.TablesOfContents(0) où 0 est l'index du premier élément de
la collection.


--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/