Comment ajouter des styles personnalisés au volet de navigation ou les modifier avec VBA

J'ai un document Word2010 qui a été créé par un outil d' Axure .

  • Chaque titre est formé avec un style personnalisé ("AxureHeading1", "AxureHeading2", "AxureHeading3").
  • J'ai pu créer une table des matières avec les rubriques personnalisées : References tab, click Table of Contents, click Insert Table of Contents, and then click Options. Under Available styles References tab, click Table of Contents, click Insert Table of Contents, and then click Options. Under Available styles .
  • Mais je ne peux pas comprendre ce que je dois faire pour inclure ces rubriques personnalisées dans le volet de navigation

Que puis-je faire soit

  1. Modifiez tous les en-têtes personnalisés (niveau 1, 2, 3) avec les titres Inbuild à partir du mot sans cliquer et sélectionner chaque titre manuellement (Macro VBA?)
  2. Ou ajustez le style de titre personnalisé pour qu'il apparaisse dans le volet navigaton

Une image du volet de navigation qui montre les en-têtes Inbuild Navigaton Pane in Word 2010

Mettre à jour

Il semble que mon approche macro fonctionne (option 1). Mais si quelqu'un sait un moyen pour l'option 2, je serais toujours intéressé d'entendre parler de cela.

VBA n'est pas nécessaire.

Dans la boîte de dialogue modifier le style de dialogue, sélectionnez FORMAT – PARAGRAPH et changez OUTLINE LEVEL de Body Text au niveau de contour souhaité.

Cela ajoutera toutes les rubriques avec ce style au schéma du document documenté dans le volet de navigation.

Option 1 pour remplacer le formage

Utilisation d'une macro

La macro suivante modifie le titre d'un style à l'autre

 Sub FindAndReplaceStyle() Dim intI As Integer Dim newStyle As String For intI = 1 To ActiveDocument.Paragraphs.Count curStyle = ActiveDocument.Paragraphs(intI).Style If curStyle = "AxureHeading1" Then Call SetStyle(intI, wdStyleHeading1) ElseIf curStyle = "AxureHeading2" Then Call SetStyle(intI, wdStyleHeading2) ElseIf curStyle = "AxureHeading3" Then Call SetStyle(intI, wdStyleHeading3) End If Next intI 

Et pour réduire la duplication de code et augmenter la lisibilité, une petite fonction d'aide

 Sub SetStyle(intI, newStyle) Dim ranActRange As Range Set ranActRange = ActiveDocument.Paragraphs(intI).Range With ranActRange ranActRange.Style = newStyle End With End Sub 

Utilisation du dialogue de remplacement de la recherche

Dans cet article, j'ai constaté que l'utilisation de la fonction de reconstruction de la recherche Inbuild (CTRL + H) vous permet de choisir de rechercher le formatage. Je ne l'ai pas encore testé sur mon document, mais je suis prometteur.

Option 2 Modification du niveau de contour

Comme Patrick vous a suggéré, vous pouvez modifier le NIVEAU DE DÉCLARATION de Body Text à un autre. Puisque mon édition sur la réponse de Patrick a été rejetée, j'ai inclus la capture d'écran dans cette réponse.

Ouvrir modifier le dialogue de style

Ouvrir modifier le dialogue de style

Sélectionnez le paragraphe comme format-objet que vous souhaitez modifier

Sélectionnez le paragraphe comme format-objet que vous souhaitez modifier

Sélectionnez le niveau de contour

Sélectionnez le niveau de contour

Le moyen le plus simple est de faire en sorte que votre titre de niveau supérieur soit basé sur la rubrique 1 dans la boîte de dialogue New Style (ou Modify ).

Tant que vos en-têtes personnalisés seront en cascade du niveau supérieur, ils apparaîtront dans le volet de navigation.