Cómo usar VBA para navegar al principio y al final de un documento de Word

Visual Basic for Applications (VBA) es el lenguaje que se encuentra detrás de las aplicaciones de Office y te permite automatizar tareas. Sin embargo, utilizar VBA en Word puede tener sus desafíos. El primero de ellos es moverse en un documento debido a los diferentes tipos de contenido presentes: texto, imágenes, tablas, etc. En este tutorial, te mostraré dos procedimientos sencillos de VBA para navegar por un documento. Uno identificará el principio de un documento de Word, mientras que el otro identificará el final.

Estoy utilizando Microsoft 365 en un sistema Windows 10 de 64 bits, pero puedes utilizar una versión anterior. Puedes acceder a los archivos de demostración aquí. Word para la web no admite VBA.

Índice de Contenido
  1. Acerca de ActiveDocument en VBA de Microsoft Word
  2. Cómo utilizar VBA para encontrar el principio de un documento de Word
  3. Cómo utilizar VBA para encontrar el final de un documento de Word
  4. Cómo ingresar y ejecutar los procedimientos de VBA en un documento de Word
  5. Mantente atento

Acerca de ActiveDocument en VBA de Microsoft Word

El componente principal de VBA en ambos procedimientos es la propiedad ActiveDocument, que devuelve un objeto Document que representa el documento activo. En otras palabras, esto abre el documento en su totalidad. No necesitarás esto para cada procedimiento de VBA en Word, pero lo necesitarás cuando necesites hacer referencia a "partes" del documento.

Si no hay ningún documento de Word abierto, esta propiedad devolverá un error. Si estás utilizando esta propiedad desde Excel o PowerPoint, debes incluir un control de errores para esta situación.

Esta propiedad utiliza la siguiente forma:

expresión.ActiveDocument

Enseñanza y Aprendizaje con Microsoft: Herramientas y Lecciones para Profesores de todos los Niveles

donde expresión es una variable que representa el objeto Application (Word). Afortunadamente, en Word, esto se sobreentiende de forma implícita.

La siguiente pieza de VBA que utilizaremos es el método Range, que tiene la forma:

expresión.Range(inicio, fin)

para devolver un objeto Range. Utilizaremos este método para identificar un área del documento.

No existe un método que diga "ir al principio" o "ir al final", por lo que utilizaremos los argumentos de inicio y fin para identificar ambos. Ambos argumentos son opcionales y, como podrías sospechar, inicio identifica la primera posición de carácter y fin identifica la última posición de carácter.

Ahora, pasemos a los procedimientos de VBA en sí mismos.

Guía de Examen de Certificación Lotus Notes: Desarrollo de Aplicaciones y Administración del Sistema

Cómo utilizar VBA para encontrar el principio de un documento de Word

Mover el cursor al principio de un documento de Word utilizando VBA es sorprendentemente sencillo. El Listing A muestra el procedimiento. En primer lugar, el procedimiento declara y define un objeto Range, utilizando 0s para identificar el principio del documento. Dos 0s colocarán el cursor antes de cualquier contenido en el documento activo. La segunda línea agrega un poco de texto y la constante vbNewLine agrega un salto de línea.

Listing A


Sub GoToStart()
'Mover el cursor al principio del documento activo.
'Agregar una breve frase de texto para mostrar que funcionó.
Dim rInicio As Range
Set rInicio = ActiveDocument.Range(0, 0)
rInicio.Text = "Este es el comienzo de este documento." & vbNewLine
End Sub

Ahora veamos el segundo procedimiento que mueve el cursor al final de un documento.

Cómo utilizar VBA para encontrar el final de un documento de Word

Como se mencionó, no existe un método que diga "ir al final", por lo que debemos forzar la cuestión encontrando el último carácter. Esto es un poco más complejo, pero no difícil, como se muestra en Listing B. Este procedimiento funciona de manera similar al primero, pero ingresa el texto al final del documento, que se encuentra utilizando la propiedad Last del objeto Characters.

Esta vez hemos posicionado la constante vbNewLine antes del texto.

Cómo gestionar eficazmente grandes volúmenes de correo electrónico

Listing B


Sub GoToEnd()
'Mover el cursor al final del documento activo.
'Agregar una breve frase de texto para mostrar que funcionó.
Dim rFin As Range
Set rFin = ActiveDocument.Range.Characters.Last
rFin.Text = vbNewLine & "Este es el final de este documento."
End Sub

Cómo ingresar y ejecutar los procedimientos de VBA en un documento de Word

Ahora es el momento de ingresar ambos procedimientos para usarlos en un documento de Word. Estoy utilizando un documento de Word corto de dos páginas, mostrado en Figure A, que contiene varios contenidos guardados como un archivo de Word habilitado para macros. Si estás utilizando una versión de Ribbon, debes guardar el documento de Word como un archivo habilitado para macros para ejecutar VBA. Si estás trabajando en la versión de menú, puedes omitir este paso.

Figure A

Para ingresar los procedimientos de VBA, presiona Alt + F11 para abrir el Editor de Visual Basic (VBE). En el Explorador del proyecto a la izquierda, selecciona ThisDocument. Puedes ingresar el código manualmente o importar el archivo .cls descargable. Además, el procedimiento está en los archivos descargables .docm y .doc. Si ingresas el código manualmente, no pegues desde esta página web. En su lugar, copia el código en un editor de texto y pégalo en el módulo ThisDocument. De esta manera, eliminarás cualquier carácter web fantasma que de lo contrario podría causar errores.

Ahora ejecutemos los procedimientos de la siguiente manera:

Integración de StarOffice: calendarios
  1. Haz clic en la pestaña Desarrollador.
  2. Selecciona Macros en el grupo Código.
  3. En el cuadro de diálogo resultante, elige ir al principio (GoToStart) (Figure B).
  4. Haz clic en Ejecutar.

Como puedes ver en la Figure C, el procedimiento inserta texto y un salto de línea al principio del documento de Word. Ahora repitamos este proceso pero elijamos ir al final (GoToEnd) (Figure B). Este procedimiento inserta un salto de línea y un poco de texto al final del documento de Word, como puedes ver en la Figure D.

Figure B

Figure C

Cómo usar VBA para navegar al principio y al final de un documento de Word - Software | Imagen 1 Newsmatic

Figure D

Cómo usar VBA para navegar al principio y al final de un documento de Word - Software | Imagen 2 Newsmatic

Cómo gestionar eficazmente el correo electrónico en tu empresa

Algo que podrías notar es que ambas frases insertadas utilizan diferentes formatos. Estas frases, al igual que cualquier otra, utilizarán el formato presente. Esto es algo que debes tener en cuenta si deseas que el texto insertado utilice un formato específico en su lugar.

Lo más probable es que no desees realizar todos esos pasos para ejecutar esta macro. Te recomiendo que la agregues a la Barra de acceso rápido o a un grupo personalizado. Si necesitas ayuda con eso, lee Cómo agregar macros de Office a la barra de acceso rápido para un acceso rápido.

Mantente atento

Ambos procedimientos de VBA son sencillos, tanto los procedimientos en sí como las tareas que completan. El objetivo es mostrarte cómo navegar por ambos puntos utilizando VBA. Durante los próximos meses, dedicaré algunos artículos a VBA de navegación adicional en documentos de Microsoft Word.

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Software, allí encontraras muchos artículos similares a Cómo usar VBA para navegar al principio y al final de un documento de Word , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.