¿Cómo resaltar texto (color de fondo) en Word desde Excel VBA?

Para resaltar texto en Microsoft Word desde VBA de Excel, necesitarás automatizar Word mediante la creación de un objeto `Word.Application` y luego manipular el documento para aplicar el resaltado deseado. A continuación, te muestro un ejemplo de cómo puedes hacerlo:

Sub ResaltarTextoEnWord()
    Dim wordApp As Object
    Dim wordDoc As Object
    Dim palabraABuscar As String
    Dim colorResaltado As Long
    
    ' Define la palabra que deseas resaltar
    palabraABuscar = "texto"
    
    ' Define el color de resaltado (por ejemplo, amarillo)
    colorResaltado = 65535 ' wdYellow en Word
    
    ' Crea una instancia de la aplicación Word
    On Error Resume Next
    Set wordApp = GetObject(, "Word.Application")
    If Err.Number <> 0 Then
        Set wordApp = CreateObject("Word.Application")
    End If
    On Error GoTo 0
    
    wordApp.Visible = True
    
    ' Abre el documento que deseas modificar
    Set wordDoc = wordApp.Documents.Open("C:rutaaldocumento.docx")
    
    ' Realiza la búsqueda y resalta el texto
    With wordDoc.Content.Find
        .Text = palabraABuscar
        .Replacement.Highlight = True
        .Replacement.Text = palabraABuscar
        .Execute Replace:=2, Forward:=True, _
                 Format:=True, MatchCase:=False, MatchWholeWord:=True
    End With
    
    ' Cierra el documento sin guardar cambios (quita el comentario si deseas guardar)
    'wordDoc.Close SaveChanges:=True
    
    ' Cierra la aplicación Word
    'wordApp.Quit
    
    ' Libera los objetos
    Set wordDoc = Nothing
    Set wordApp = Nothing
End Sub

Explicación del código:

  • Creación del objeto Word: Se intenta obtener una instancia de Word en ejecución con `GetObject`. Si no está en ejecución, se crea una nueva instancia usando `CreateObject`.
  • Apertura del documento: Abre un documento de Word especificando su ruta.
  • Búsqueda y resaltado: Utiliza el método `Find` para buscar la palabra específica y resaltar el texto. El color de resaltado predeterminado es amarillo, que corresponde al valor 65535.
  • Manejo del objeto: Al final, se liberan los objetos creados para evitar problemas de memoria. Si deseas mantener el documento abierto o guardar los cambios, ajusta la sección correspondiente a tu necesidad.

Asegúrate de modificar la ruta del documento y la palabra a buscar según tus necesidades. Además, ten presente que debes tener permisos adecuados para ejecutar macros y que el documento de Word mencionado debe existir en la ruta especificada.

Conoce nuestros servicios

Conoce nuestra tienda

Mejora tu nivel y logra tus objetivo

Excel

Excel cursos

Access

cursos de Access

Power BI

cursos power BI

Deja un comentario