Saltar al contenido

Cambiar el nombre de un marcador en Word 2010

Solución:

¿Existe una forma más sencilla o eficaz de cambiar el nombre de los marcadores en documentos de Word?

No hay una función de cambio de nombre integrada en Word. Hay un par de opciones para solucionar esta falta:

  1. Utilice un complemento.

  2. Utilice VBA.


Solución complementaria

Usar el complemento de la herramienta de marcadores

Ofrece una interfaz de usuario amigable para hacer todo lo que hace el cuadro de diálogo de marcador estándar y mucho más.

Bookmark Tool se desarrolló para Word 2003. Es totalmente funcional con Word 2007/2010.

Con la sección “Agregar / Cambiar nombre de marcador”, agregar marcadores es muy sencillo.

  • Como en el cuadro de diálogo estándar, simplemente seleccione texto, escriba un nombre en el campo y haga clic en “Agregar”.
  • A diferencia del cuadro de diálogo estándar, la Herramienta de marcadores restringe la entrada de claves a los caracteres de nombre de marcador válidos y le avisa si intenta crear un nombre de marcador duplicado.
  • También puede utilizar esta sección para cambiar el nombre de un marcador existente.

    ingrese la descripción de la imagen aquí

Complemento de la herramienta de marcadores de origen


Solución VBA

No hay una función de cambio de nombre. Debe eliminar el nombre anterior y marcar el rango con un nuevo nombre de marcador. Aquí está el código de muestra de VBA:

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

Fuente Cambie el “nombre” de un marcador, no el texto del mismo, con un bucle adicional para recorrer los campos en el documento para cambiar cualquiera que pueda hacer referencia al marcador al que se le cambia el nombre.

Se debe tener cuidado al utilizar este script. Por ejemplo, cambiar el nombre de los marcadores que simplemente se denominan “REF” (o una variante de este tipo en mayúsculas o minúsculas) voluntad rotura TODOS referencias de formas divertidas e inesperadas. Esto es solo un ejemplo y una solución aproximada.

Si desea cambiar el nombre de varios marcadores por lotes de una sola vez, consulte ¿Existe una forma más sencilla o eficaz de cambiar el nombre de los marcadores en documentos de Word? que también incluye código VBA de muestra.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *