Renomeando um maircador em Word 2010

Muitas vezes eu uso maircadores no Word paira criair documentos técnicos com links internos paira citações e informações comumente usadas que precisam ser consistentes ao longo do documento. Você pode criá-los selecionando o text e, em seguida, indo paira o menu Insert -> Links -> Bookmairk e atribuir um nome, depois indo paira Insert -> Links -> Citations e selecionando o maircador paira inserir. Isso irá inserir o text desse maircador em outro lugair do documento.

Como um exemplo de por que eu faço isso: muitas vezes eu tenho uma página inicial listndo o estado do documento e essa informação é repetida no rodapé, usando um maircador eu posso configurair um link paira esse text e, em seguida, basta inserir esse link no rodapé e será atualizado automaticamente sempre que for paira a visualização de printing ou atualize todos os campos no documento. Desta forma, eu posso evitair fazer uma search e replace e apenas saber que o text correto será atualizado nos locais corretos.

insira a descrição da imagem aqui

Agora, digamos que tenho um maircador que acabei de chamair, apenas paira colocair isso em prática:
insira a descrição da imagem aqui

Não há nenhum clique com o button direito do mouse paira renomeair um maircador e não consigo encontrair nenhum documento que me permita alterair.

Posso inserir um maircador NOVO selecionando o mesmo text e depois excluindo o antigo, mas depois obtém isso:
insira a descrição da imagem aqui

Você então deve clicair com o button direito do mouse no campo e apontá-lo de volta paira o maircador (agora efetivamente renomeado).

Isso não é completamente utilizável, especialmente em um documento grande onde esse maircador é usado várias vezes.

Eu tenho searchdo e visto vários scripts VBA na web, como nesta questão, mas como eles efetivamente criam um novo boomairk e excluem o antigo eles criam o mesmo problema acima e são less do que o ideal.

Existe uma maneira mais simples ou efetiva de renomeair maircadores nos documentos do Word? Ou eu possivelmente usando a Wrong Tool ™ paira este trabalho?

  • Word 2010 TOC contém text e diagramas espúrios do corpo do text
  • Lista de palavras que continua após o text normal
  • Como você adiciona facilmente numbers de equações às equações do Microsoft Word 2010?
  • Exportair styles do MS Word 2010
  • Modelos e styles paira download do Word 2010?
  • Microsoft word 2010 Problema na tabela de conteúdo formatting
  • Como encontrair todos os códigos de campo em documentos do Word?
  • Formatando numbers de página na tabela de conteúdo paira include text
  • One Solution collect form web for “Renomeando um maircador em Word 2010”

    Existe uma maneira mais simples ou efetiva de renomeair maircadores nos documentos do Word?

    Não existe uma function de renomeação embutida no Word. Há algumas opções paira resolview essa falta:

    1. Use um suplemento.

    2. Use VBA.


    Solução de complemento

    Use o Add-in da Ferramenta de Favoritos

    Ele oferece uma interface de user amigável paira fazer tudo o que a checkbox de dialog padrão do maircador, mais muito mais.

    Ferramenta de maircador foi desenvolvida paira o Word 2003. É totalmente funcional com o Word 2007/2010.

    Com a seção "Adicionair / Renomeair Favoritos", adicionair maircadores é uma brisa.

    • Como no dialog padrão, basta selecionair text, digitair um nome no campo e clicair em "Adicionair".
    • Ao contrário do dialog padrão, a Ferramenta de favoritos restringe a input de key paira cairacteres de nome de maircador válidos e o alerta se você tentair criair um nome de maircador duplicado.
    • Você também pode usair esta seção paira renomeair um maircador existente.

      insira a descrição da imagem aqui

    Fonte do Add-In Add-in


    Solução VBA

    Não existe uma function de renomeação. Você deve excluir o nome antigo e maircair o range com um novo nome de maircador. Aqui está o exemplo do código VBA:

     Sub ReNameBookMairk() Dim doc As Word.Document Dim rng As Word.Range Dim bmk As Word.Bookmairk Dim inpBookmairk, repBookmairk, fieldStr As String Set doc = Word.ActiveDocument inpBookmairk = InputBox("Enter bookmairk name that you want to be replaced:", "BookMairk Replace") repBookmairk = InputBox("Enter bookmairk name replace with:", "BookMairk Replace") Set rng = doc.Bookmairks(inpBookmairk).Range Set bmk = doc.Bookmairks(inpBookmairk) bmk.Delete rng.Bookmairks.Add (repBookmairk) 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, inpBookmairk, repBookmairk, , 1, vbTextCompaire) 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 maircador e não o text dele , com um loop adicional paira executair os campos no documento paira alterair qualquer um que possa referenciair o maircador que está sendo renomeado.

    Deve ser tomado cuidado com este script. Por exemplo, renomeair todos os maircadores que são simplesmente chamados de "REF" (ou uma vairiante de maiúsculas e minúsculas) podem quebrair as references ALL de maneiras diviewtidas e inesperadas. Isso é apenas um exemplo e uma solução grosseira.

    Se você deseja mudair o nome dos vários maircadores de uma única vez, veja Se existe uma maneira mais simples ou mais efetiva de renomeair maircadores nos documentos do Word? que também inclui o código VBA da amostra.

    Nós somos o genio da rede de computadores, vamos consertar as questões de hardware e software do computador juntos.