Cómo crear un estilo de Word que aplique un marcador automáticamente al usarlo
🔍 WiseChecker

Cómo crear un estilo de Word que aplique un marcador automáticamente al usarlo

Desea un estilo de Word que inserte automáticamente un marcador cada vez que lo aplique al texto. Word no ofrece una propiedad de estilo integrada para adjuntar una acción de marcador. Este artículo explica cómo usar una macro adjunta al estilo para insertar un marcador cuando aplica el estilo. Aprenderá a crear un estilo personalizado, escribir una macro de VBA que se ejecute al aplicar el estilo y asignar esa macro al estilo para la creación automática de marcadores.

Puntos clave: Automatizar marcadores con un estilo de Word

  • Creación de un estilo personalizado en Inicio > Estilos > Crear un estilo: Cree un nuevo estilo de párrafo o de carácter que active la macro del marcador.
  • Macro de VBA en Desarrollador > Visual Basic > Insertar módulo: Escriba una macro breve que inserte un marcador con el nombre del texto seleccionado cuando se aplique el estilo.
  • Macro adjunta mediante los eventos Document_New o Document_Open: Use AutoOpen o AutoNew para ejecutar la macro automáticamente cuando aplique el estilo a documentos nuevos o existentes.

ADVERTISEMENT

Comprender la función de estilo con marcador automático

Los estilos de Word controlan las propiedades de fuente, párrafo y formato. No incluyen un campo ni una configuración para agregar un marcador. Para que un estilo aplique un marcador al usarlo, necesita una macro de Visual Basic for Applications que se ejecute cuando se aplique el estilo. La macro lee el texto seleccionado e inserta un marcador con ese texto como nombre del marcador. Los marcadores en Word almacenan una ubicación o selección para referencias cruzadas, hipervínculos o navegación. Este enfoque funciona tanto para estilos de párrafo como de carácter. Requisitos previos: habilite la pestaña Desarrollador en Word y permita la ejecución de macros en su documento o plantilla.

Pasos para crear un estilo que inserte un marcador automáticamente

Siga estos pasos para configurar la macro y el estilo. Primero creará un estilo personalizado, luego escribirá la macro y, por último, adjuntará la macro al estilo mediante un evento de documento.

Paso 1: Crear el estilo personalizado

  1. Abrir el panel Estilos
    Presione Ctrl+Alt+Shift+S para abrir el panel Estilos. Haga clic en el botón Nuevo estilo en la esquina inferior izquierda.
  2. Definir las propiedades del estilo
    En el cuadro de diálogo Crear nuevo estilo a partir del formato, escriba un nombre como “AutoBookmark”. Elija Párrafo o Carácter en Tipo de estilo. Establezca la fuente, el tamaño y otros formatos según sea necesario.
  3. Guardar el estilo
    Seleccione “Nuevos documentos basados en esta plantilla” si desea que el estilo esté disponible en todos los documentos futuros. Haga clic en Aceptar.

Paso 2: Habilitar la pestaña Desarrollador y abrir el editor de VBA

  1. Mostrar la pestaña Desarrollador
    Vaya a Archivo > Opciones > Personalizar cinta de opciones. En Fichas principales, marque Desarrollador. Haga clic en Aceptar.
  2. Abrir el editor de VBA
    En la pestaña Desarrollador, haga clic en Visual Basic. Como alternativa, presione Alt+F11.

Paso 3: Escribir la macro para insertar un marcador

  1. Insertar un nuevo módulo
    En el editor de VBA, haga clic con el botón derecho en su documento o en el proyecto Normal en el Explorador de proyectos. Elija Insertar > Módulo.
  2. Pegar el código de la macro del marcador
    Copie y pegue el siguiente código en el módulo:
    Sub InsertBookmarkOnStyle()
    Dim sel As Selection
    Set sel = Selection
    If sel.Type = wdSelectionNormal Then
    If sel.Words.Count >= 1 Then
    Dim bkmName As String
    bkmName = Replace(sel.Text, " ", "_")
    bkmName = Left(bkmName, 40)
    bkmName = Replace(bkmName, vbCr, "")
    ActiveDocument.Bookmarks.Add Name:=bkmName, Range:=sel.Range
    End If
    End If
    End Sub

    Esta macro crea un marcador usando el texto seleccionado, reemplaza los espacios por guiones bajos y limita el nombre a 40 caracteres.
  3. Guardar la macro
    Presione Ctrl+S para guardar el módulo. Si se le solicita, guarde el documento como un archivo habilitado para macros (.docm).

Paso 4: Adjuntar la macro al estilo mediante un evento de documento

  1. Abrir el objeto Document
    En el editor de VBA, haga doble clic en “ThisDocument” bajo su proyecto en el Explorador de proyectos.
  2. Agregar el evento AutoOpen o AutoNew
    Pegue el siguiente código para ejecutar la macro cuando se abra el documento o se cree un documento nuevo:
    Private Sub Document_Open()
    Application.OnTime When:=Now + TimeValue("00:00:01"), Name:="InsertBookmarkOnStyle"
    End Sub

    Esto retrasa la macro un segundo para asegurar que el estilo se aplique primero. Para documentos nuevos, use Private Sub Document_New() en su lugar.
  3. Guardar y cerrar el editor de VBA
    Presione Ctrl+S y luego cierre el editor.

Paso 5: Probar el estilo con marcador automático

  1. Aplicar el estilo al texto
    Seleccione una palabra o frase en su documento. En la pestaña Inicio, haga clic en el estilo AutoBookmark en la galería Estilos.
  2. Verificar el marcador
    Presione Ctrl+G para abrir el cuadro de diálogo Ir a. En Ir a, seleccione Marcador. El nombre del marcador debe coincidir con el texto seleccionado (espacios reemplazados por guiones bajos).

ADVERTISEMENT

Problemas comunes y limitaciones del estilo con marcador automático

El nombre del marcador contiene caracteres no válidos

Los nombres de marcador de Word no pueden contener espacios ni comenzar con un número. La macro anterior reemplaza los espacios por guiones bajos. Si su texto comienza con un dígito, la macro fallará. Modifique la macro para anteponer “Bkm_” al nombre: bkmName = "Bkm_" & bkmName.

La macro no se ejecuta cuando se aplica el estilo

El evento Document_Open se ejecuta solo cuando se abre el documento, no cuando se aplica el estilo. Para activar la macro al aplicar el estilo, debe usar el enfoque Application.OnTime que se muestra, que ejecuta la macro una vez después de un retraso. Para uso repetido, aplique el estilo y luego ejecute la macro manualmente presionando Alt+F8 y seleccionando InsertBookmarkOnStyle.

El marcador sobrescribe los marcadores existentes

Si el texto seleccionado coincide con el nombre de un marcador existente, Word sobrescribe el marcador anterior. Agregue una comprobación en la macro para preguntar antes de sobrescribir: If ActiveDocument.Bookmarks.Exists(bkmName) Then MsgBox "Bookmark already exists."

Advertencias de seguridad de documentos habilitados para macros

Word deshabilita las macros de forma predeterminada. Guarde el documento en una ubicación de confianza o firme digitalmente la macro para evitar advertencias.

Inserción manual de marcadores frente a estilo habilitado para macros

Elemento Inserción manual de marcadores Estilo habilitado para macros
Esfuerzo de configuración Ninguno, integrado Requiere macro de VBA y creación de estilo
Velocidad Seleccionar texto, Insertar > Marcador, escribir nombre Aplicar estilo, la macro se ejecuta automáticamente
Consistencia Depende de la nomenclatura del usuario Impone una convención de nomenclatura (espacios a guiones bajos)
Requiere permiso de macros No Sí
Funciona en Word Online Sí No

Ahora puede crear un estilo de Word que inserte automáticamente un marcador al aplicarlo. La macro cambia el nombre del marcador según el texto seleccionado y limita la longitud del nombre. Pruebe la configuración con un documento de ejemplo. Para uso avanzado, modifique la macro para incluir un prefijo como “Bkm_” y evitar conflictos de nombres con marcadores existentes.

ADVERTISEMENT