Renomeando um marcador no Word 2010

11

Costumo usar marcadores no Word para criar documentos técnicos com links internos para citações e informações usadas com frequência que precisam ser consistentes em todo o documento. Você pode criá-los selecionando o texto e, em seguida, indo para o menu Insert - > Links - > Bookmark e atribuindo um nome, em seguida, indo para Insert - > Links - > Citations e selecionando o marcador para inserir. Isso irá inserir o texto desse marcador em outro lugar no documento.

Como exemplo de por que faço isso: frequentemente tenho uma página inicial listando o estado do documento e essa informação é repetida no rodapé, usando um marcador eu posso configurar um link para esse texto e então simplesmente inserir esse link no rodapé e ele será atualizado automaticamente sempre que eu for para a visualização de impressão ou atualizar todos os campos no documento. Dessa forma eu posso evitar fazer uma busca e substituir e só sei que o texto correto será atualizado nos lugares corretos.

Agoravamosdizerquetenhoummarcadorqueacabeidenomear,apenasparacolocá-lonolugar:

Não há um clique com o botão direito para renomear um favorito e não consigo encontrar nenhuma propriedade de documento que me permita alterá-lo.

Eu posso inserir um marcador NOVO selecionando o mesmo texto e, em seguida, excluindo o antigo, mas você verá isto:

Você precisa clicar com o botão direito do mouse no campo e apontá-lo de volta no marcador (agora renomeado de forma eficaz).

Isso não é totalmente utilizável, especialmente em um documento grande em que esse marcador é usado várias vezes.

Eu pesquisei e vi vários scripts VBA na Web, como em esta questão mas como eles efetivamente criam um novo boomark e excluem o antigo, eles criam o mesmo problema acima e são menos que ideais.

Existe uma maneira mais simples ou mais eficaz de renomear marcadores em documentos do Word? Ou possivelmente estou usando a Wrong Tool ™ para este trabalho?

    
por Mokubai 03.09.2015 / 23:45

2 respostas

6

Existe uma maneira mais simples ou efetiva de renomear marcadores em documentos do Word?

Não há função de renomeação incorporada ao Word. Existem algumas opções para contornar essa falta:

  1. Use um suplemento.

  2. Use o VBA.

Solução Add-in

Use o Add-In da Ferramenta de marcadores

It offers a friendly user interface for doing everything the standard Bookmark Dialog box will do plus much more.

Bookmark Tool was developed for Word 2003. It is wholly functional with Word 2007/2010.

...

With the "Add/Rename Bookmark" section, adding bookmarks is a breeze.

  • As in the standard dialog, you simply select text, type a name in the field, and click "Add."
  • Unlike the standard dialog, Bookmark Tool restricts key entry to valid bookmark name characters and alerts you if you attempt to create a duplicate bookmark name.
  • You can also use this section to rename an existing bookmark.

    enter image description here

Fonte Complemento da Ferramenta de marcadores

Solução VBA

There isn't a rename function. You have to delete the old name and mark the range with a new bookmark name. Here's sample VBA code:

Sub ReNameBookMark()
    Dim doc As Word.Document
    Dim rng As Word.Range
    Dim bmk As Word.Bookmark
    Dim inpBookmark, repBookmark, fieldStr As String

    Set doc = Word.ActiveDocument

    inpBookmark = InputBox("Enter bookmark name that you want to be replaced:", "BookMark Replace")
    repBookmark = InputBox("Enter bookmark name replace with:", "BookMark Replace")

    Set rng = doc.Bookmarks(inpBookmark).Range
    Set bmk = doc.Bookmarks(inpBookmark)
    bmk.Delete
    rng.Bookmarks.Add (repBookmark)

    If doc.Fields.Count >= 1 Then
        For i = 1 To doc.Fields.Count
            fieldStr = doc.Fields(i).Code.Text
            If Left(fieldStr, 4) = " REF" Then
                doc.Fields(i).Code.Text = Replace(fieldStr, inpBookmark, repBookmark, , 1, vbTextCompare)
                doc.Fields(i).Update
            End If

            'MsgBox "Code = " & doc.Fields(i).Code & vbCr & "Result = " & doc.Fields(i).Result & vbCr
        Next i
    End If
End Sub

Origem Altere o" nome "de um marcador não o texto dele , com um loop adicional para percorrer os campos no documento para alterar qualquer um que pode estar fazendo referência ao marcador que está sendo renomeado.

Cuidado deve ser tomado usando este script. Por exemplo, ao renomear qualquer marcador que seja simplesmente chamado de "REF" (ou uma variante de maiúscula ou minúscula) irá quebrar ALL referências de maneira divertida e inesperada. Isso serve apenas como um exemplo e uma correção aproximada.

Se quiser renomear em lote vários marcadores de uma só vez, consulte Is Existe uma maneira mais simples ou mais eficaz para renomear marcadores em documentos do Word? que também inclui código VBA de amostra.

    
por 03.09.2015 / 23:55
1

Eu tive esse mesmo problema e deparei com esse trabalho em torno de / solution.

Para o texto que você deseja referenciar, um título no meu caso, configure um título da propriedade Document da seguinte forma:

Insert tabQuick PartsDocument PropertyTitle

Isso adiciona uma caixa editável para o texto na qual você pode digitar seu título.

Então, para fazer referência a isso, você poderia ir para Insert tabQuick PartsFieldTitle , ou fazer o que eu fiz acidentalmente - eu tive uma configuração de referência e quando atualizei com < kbd> F9 Adicionou a caixa de título que estava referenciando.

Isso é muito legal, já que conforme você atualiza a caixa de título, todas as referências são atualizadas automaticamente sem pressionar F9 !!! Isso é ótimo quando você tem a referência em um cabeçalho, pois a função Ctrl + A não captura o que está no cabeçalho / rodapé e você normalmente teria que clicar duas vezes dentro o cabeçalho / rodapé para selecionar, e pressione F9 para atualizar.

Portanto, em vez de criar uma referência de título, conforme mencionado acima, faça o seguinte:

  • Depois de configurar a caixa de título, crie um marcador da caixa Título:

    • Selecione a caixa de título (certifique-se de clicar na guia de título na parte superior para selecionar toda a caixa)
    • InsertBookmark → (nome diz Project_title ) → add
  • Em seguida, adicione a referência como esta:

    • Insert tabQuick PartsFieldRef (e selecione Project_title ou o que você chamou)
por 25.07.2018 / 04:27