[Déplacé .Net --> VBA] VBA word , récupération de l'arboressence d'une table de

Résolu
NS_INSAT Messages postés 8 Date d'inscription samedi 12 novembre 2005 Statut Membre Dernière intervention 23 avril 2010 - 19 avril 2010 à 11:04
NS_INSAT Messages postés 8 Date d'inscription samedi 12 novembre 2005 Statut Membre Dernière intervention 23 avril 2010 - 19 avril 2010 à 12:05
Bonjour le forum ,

je souhaite récupérer via une macro les titres (de tous les niveaux) de ma table des matières .

Comment parcourir, en VBA, la table des matières de Word?

Merci pour votre aide

3 réponses

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
19 avril 2010 à 11:45
Salut
Pas évidentes ces tables des matières puisque ce ne sont pas de vrai textes mais des sortes de liens.
J'ai bidouillé ça qui t'affichera chaque élément :
    Dim sTemp As String
    Dim aLignes() As String
    Dim aDonnée() As String
    Dim r As Long
    Dim t As Long
    
    sTemp = ActiveDocument.TablesOfContents(1).Range.FormattedText
    aLignes = Split(sTemp, vbCr)
    For r = LBound(aLignes) To UBound(aLignes)
        aDonnée = Split(aLignes(r), vbTab)
        For t = LBound(aDonnée) To UBound(aDonnée)
            Debug.Print "Ligne "; r, "Texte : "; t, aDonnée(t)
        Next t
    Next r

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
3
cs_loulou69 Messages postés 672 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 2 juin 2016 1
19 avril 2010 à 11:50
Bonjour NS_INSAT

Recupérer la TM
Msgbox ActiveDocument.TableOfContents.item(1).Range.Text

Par contre pour rechercher les titres dans le document en s'arrêtant ou non au niveau de titre placé dans la TM, il faut faire une recherche des textes de style commençant par "Titre "
0
NS_INSAT Messages postés 8 Date d'inscription samedi 12 novembre 2005 Statut Membre Dernière intervention 23 avril 2010
19 avril 2010 à 12:05
Merci jack ,

c'est parfait
0