in

3 formas de contar el número de ocurrencias de una palabra o frase específica en un documento de Word

Aplicación de Microsoft Word y Excel en el primer plano del portátil de pantalla.  Microsoft Office es una suite ofimática de aplicaciones creada por Microsoft.

Aplicación de Microsoft Word y Excel en el primer plano del portátil de pantalla.  Microsoft Office es una suite ofimática de aplicaciones creada por Microsoft.
Imagen: prima91/Adobe Stock

Devolver el número de veces que aparece una palabra o frase en un documento de Microsoft Word es una tarea común para muchos escritores y editores. No querrás abusar de las palabras. Por otro lado, es posible que desee asegurarse de haber ingresado el nombre de un cliente con frecuencia cuando esté trabajando con material de marketing. Afortunadamente, Word tiene dos formas integradas de contar las apariciones de una palabra específica. Si eso no es lo suficientemente flexible, puede usar un subprocedimiento de Word VBA. En este artículo, le mostraré métodos integrados y un procedimiento.

VER: Política de instalación de software (Premium de TechRepublic)

Uso Microsoft 365 en un sistema Windows 10 de 64 bits, pero puede usar una versión anterior. Le recomiendo que posponga la actualización a Windows 11 hasta que se resuelvan todos los problemas. Para su comodidad, puede descargar los archivos de demostración .docm, .doc y .cls. Los archivos de demostración se componen de dos conjuntos del mismo texto generado por la función RAND() de Word, pero querrá descargar los archivos de demostración para el procedimiento de Word VBA. Word para la web no es compatible con VBA, pero admite un método integrado.

Acerca de la función Buscar de Word

Si una respuesta sobre la marcha es lo suficientemente buena, entonces la función Buscar de Word es el camino a seguir. Por ejemplo, busquemos en el archivo de demostración la palabra «video» de la siguiente manera:

  1. En la pestaña Inicio, haga clic en Edición y elija Buscar en el menú desplegable.
  2. En el panel resultante, ingrese video.

¡Eso es todo! Como puedes ver en Figura Aesta función muestra la cantidad de veces que aparece la palabra video en el documento actual.

Figura A

Word muestra el recuento en el panel de navegación.
Word muestra el recuento en el panel de navegación.

Además, puede hacer clic en los enlaces a continuación para acceder a cada ocurrencia. Mientras la función Buscar esté activa, el resaltado amarillo permanecerá. Cuando cierra el panel de navegación, los resaltados desaparecen.

Tan fácil como eso es, hay una segunda manera. Presione Ctrl + H o elija Reemplazar en el menú desplegable Edición y haga clic en la pestaña Buscar. Ingresar video en el control Buscar, haga clic en Lectura destacada y luego seleccione Resaltar todo. Figura B muestra resultados similares. La gran diferencia es que el resaltado permanece cuando cierra el cuadro de diálogo Buscar y reemplazar. Es conveniente para navegar, pero tan pronto como intentas trabajar en el documento, los resaltados desaparecen.

Figura B

Esto mostrará las palabras que está buscando en Word resaltándolas.
Esto mostrará las palabras que está buscando en Word resaltándolas.

Ambos métodos son rápidos y fáciles, y funcionan en Word para la web. Si cualquiera de los dos satisface sus necesidades, no necesita esforzarse más. La única característica que falta en Word para la web es el resaltado; no permanece en el documento una vez que cierra el cuadro de diálogo Buscar y reemplazar. Si necesita algo un poco más flexible, es posible que necesite un procedimiento de Word VBA.

Un procedimiento de VBA para encontrar palabras en Word

La función Buscar de Word es una manera fácil de obtener el recuento de una palabra o frase específica, pero está limitada a una palabra o frase a la vez. Si desea verificar el conteo de más de una palabra, VBA puede ayudarlo. El subprocedimiento en Listado A puede ser un poco intimidante si no está familiarizado con VBA, pero no se preocupe. Ahora, agreguemos el código a un archivo de documento de Word.

Listado A

Sub FindWord()

'Returns the count of a specific word or phrases in the current document.

Dim intWordCount As Integer

Dim i As Integer

Dim w As Range

Dim strResponse As String

Dim intCount As Integer

On Error GoTo ErrHandler

'Sets For counter to the number of words in the current document.

intWordCount = ActiveDocument.Words.Count

For i = 0 To intWordCount

'Use InputBox() to solicit word or phrase.

strResponse = InputBox("Enter word", "Word count")

'Catches empty string in InputBox and quits procedure.

If strResponse = "" Then

Exit Sub

'Cycles through Words collection and compares each word in document

'to user input value, stored as strResponse.

Else

'Resets occurrence counter to 0.

intCount = 0

'Compares current word in document to user input value

'stored in strResponse.

For Each w In ActiveDocument.Words

If Trim(w.Text) = Trim(strResponse) Then intCount = intCount + 1

Next

MsgBox strResponse & "occurs " & intCount & " times.", vbOKOnly

End If

'Reduces For counter by 1.

intWordCount = intWordCount - 1

Next

Set w = Nothing

Exit Sub

ErrHandler:

MsgBox Err.Number & " " & Err.Description

Set w = Nothing

End Sub

Si está utilizando una versión de cinta, asegúrese de guardar el libro de trabajo como un archivo habilitado para macros. Si está trabajando en la versión de menú, puede omitir este paso.

Para ingresar al procedimiento, presione Alt + F11 para abrir el Editor de Visual Basic. En el Explorador de proyectos a la izquierda, seleccione ThisDocument del documento. (Si tiene más de un archivo de Word abierto, tenga cuidado de seleccionar el ThisDocument correcto). Puede ingresar el código manualmente o importar el archivo .cls descargable. Además, la macro se encuentra en los archivos descargables .docm, .doc y .cls. Si ingresa el código manualmente, no lo pegue desde esta página web. En su lugar, copie el código en un editor de texto y luego péguelo en el módulo ThisDocument. Al hacerlo, se eliminarán los caracteres web fantasma que, de lo contrario, podrían causar errores. Ahora está listo para ejecutar el procedimiento.

Cómo ejecutar el procedimiento VBA en Word

Cuando ejecute la macro, mostrará un cuadro de entrada, en el que ingresará una palabra que desea contar, y luego abrirá un cuadro de mensaje que muestra el número de ocurrencias de la palabra que ingresó. Este procedimiento de Word tiene una limitación: encuentra palabras sueltas; no encontrará frases.

Para ejecutar el subprocedimiento de Word, haga clic en la pestaña Desarrollador. En el grupo Código, haga clic en Macros. En el cuadro de diálogo resultante, elija FindWord, como se muestra en Figura C y haga clic en Ejecutar. Cuando Word muestre el cuadro de entrada, ingrese la palabra video—el caso no importa, y lo explicaré en un minuto— y haga clic en Aceptar.

Figura C

Seleccione el subprocedimiento de Word FindWord.
Seleccione el subprocedimiento de Word FindWord.

Un cuadro de mensaje muestra casi inmediatamente el número de ocurrencias, como se muestra en Figura D.
Figura D

El cuadro de mensaje muestra el número de ocurrencias.
El cuadro de mensaje muestra el número de ocurrencias.

Descarte el cuadro de mensaje y Word volverá a mostrar el cuadro de entrada. Ingresar profesional. Esta vez, el cuadro de mensaje muestra el número de veces que aparece profesional en el documento. Este proceso continuará hasta que haga clic en Cancelar en el cuadro de entrada.

¿Tienes curiosidad por saber cómo funciona el procedimiento?

Cómo funciona el procedimiento Word VBA

Las primeras líneas son declaraciones de variables. Luego, el código almacena la cantidad de palabras en el documento en la variable entera, intWordCount. El primer ciclo For usa esa variable para recorrer cada palabra del documento. Al final del procedimiento, el código resta 1 de la variable; es una especie de cuenta regresiva. Así es como el primer bucle For sabe cuándo detenerse.

El cuadro de entrada almacena su valor, la palabra que ingresa, como strResponse. Si no ingresa nada y cierra el cuadro de entrada o presiona Cancelar, la instrucción Exit Sub finaliza el procedimiento. De lo contrario, Word ejecuta Else de la instrucción If. Primero, Word establece la variable intCount en 0; este es un conteo interno que se mantiene al día con el número de ocurrencias. El segundo bucle For es una construcción For Each y recorre cada palabra, representada por w, en el documento. Esta variable es en realidad un objeto Range, que es requerido por la colección de Word. Pero en pocas palabras, w representa cada palabra en el documento (colección de palabras). Esta es la razón por la cual el procedimiento no puede manejar frases—w es una sola palabra.

Recuerde que strResponse es la palabra que está contando, w es la palabra actual en el documento y la propiedad w.Text es el contenido real. A veces, .Text y strResponse contendrán un carácter de espacio, que es manejado por la función TRIM().

Si strResponse y w.Text son iguales, Word suma 1 a intWords, el número de ocurrencias de strResponse, el valor de entrada del usuario. Este bucle compara cada palabra del documento con strResponse. Cuando el bucle se queda sin palabras, muestra el valor de intWords, el número de veces que aparece strResponse en el documento, en un cuadro de mensaje.

La última declaración de contador resta 1 de intWordCount y el proceso se repite, continuando hasta que haya recorrido todas las palabras del documento. De esta manera, el cuadro de entrada continúa solicitando palabras, por lo que no tiene que ejecutarlo cada vez. Cuando haya terminado, haga clic en Cancelar en el cuadro de entrada.

El manejo de errores es básico, por lo que querrá probar este subprocedimiento de Word a fondo usando sus archivos antes de ponerlo a trabajar. Con tres formas de contar palabras y frases, siempre debe tener una solución rápida.

Es poco probable que desee utilizar la ruta de la pestaña Desarrollador para ejecutar el procedimiento. Si es así, lea Cómo agregar macros de Office a la barra de herramientas de QAT para un acceso rápido.

Fuente

Written by TecTop

Robar una base puede ser estimulante o desmoralizador, y todo se reduce a la ejecución.

Cómo cancelar un robo en MLB The Show 22

Nora Fawn se convierte en Ranni la Bruja en un cosplay de Elden Ring

Nora Fawn se convierte en Ranni la Bruja en un cosplay de Elden Ring