Como adicionar estilos personalizados ao painel de navegação ou alterá-los com o VBA

6

Eu tenho um documento do Word2010 que foi criado por uma ferramenta do Axure .

  • Cada título é formatado com um estilo personalizado ("AxureHeading1", "AxureHeading2", "AxureHeading3").
  • Eu consegui crie um índice com os títulos personalizados : References tab, click Table of Contents, click Insert Table of Contents, and then click Options. Under Available styles .
  • Mas não consigo descobrir o que preciso fazer para incluir esses cabeçalhos personalizados no painel de navegação

O que posso fazer para

  1. alterar todos os cabeçalhos personalizados (nível 1, 2, 3) com os cabeçalhos inbuild da palavra sem clicar e selecionar cada título manualmente (Macro VBA?)
  2. ou ajustar o estilo de título personalizado para que ele seja exibido no painel de navegação

Uma imagem do painel de navegação que mostra os títulos inbuild

Atualizar

Parece que minha abordagem macro funciona (opção 1). Mas se alguém conhece um caminho para a opção 2 eu ainda estaria interessado em ouvir sobre isso.

    
por threeFourOneSixOneThree 11.09.2014 / 13:17

3 respostas

10

O VBA não é obrigatório.

Na caixa de diálogo do estilo de modificação, selecione FORMAT - PARAGRAPH e altere o OUTLINE LEVEL de Body Body para o nível de estrutura de tópicos desejado.

Isso adicionará todos os títulos com esse estilo ao esboço do documento do documento mostrado no Painel de Navegação.

    
por 30.09.2014 / 22:45
1

Opção 1 para substituir a formatação

Usando uma macro

A macro a seguir altera o título de um estilo para outro

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

e para reduzir a duplicação de código e aumentar a legibilidade de uma pequena função auxiliar

Sub SetStyle(intI, newStyle)

    Dim ranActRange As Range
    Set ranActRange = ActiveDocument.Paragraphs(intI).Range

        With ranActRange               
            ranActRange.Style = newStyle
        End With

End Sub

Usando o diálogo de substituição de pesquisa

Neste artigo i Descobri que usando a função de substituição de pesquisa inbuild (CTRL + H) você pode escolher procurar por formatação. Eu não testei ainda no meu documento, mas parece promissor.

Opção 2 Alterando o nível da estrutura de tópicos

Como Patrick sugeriu que você pode alterar o OUTLINE LEVEL de Body Text para outro. Como minha edição na resposta do Patricks foi rejeitada, incluí a captura de tela nesta resposta.

Abrir diálogo de estilo de modificação

Selecioneoparágrafocomooobjetodeformatoquevocêgostariadealterar

Selecione o nível de estrutura de tópicos

    
por 11.09.2014 / 14:18
0

A maneira mais fácil é tornar seu cabeçalho de nível superior baseado no Título 1 na caixa de diálogo New Style (ou Modify ).

Contanto que seus cabeçalhos personalizados sejam exibidos em cascata no nível superior, eles serão exibidos no Painel de Navegação.

    
por 06.04.2017 / 20:18