Contando palabras determinadas en Microsoft Word 2007
El otro me dia consutaron como contar la cantidad de ocurrencias de una determinada palabra dentro de un documento de Word, yo sabia que versiones anteriores no traian esa carateristica incorporada pero no estaba seguro si Word 2007 la traia.
Entonces despues cuando tuve algo de tiempo mire Word y ¡Lo confirme! Word 2007 tampoco la trae! :)
Pero lo que si trajo trae y traera es una infinita extensibilidad que solo se limita por nuestra imaginacion, asi que decidido a resolver el asunto me propuse revivir una vieja macro de Word 2000 para probar ademas que tan compatible resultan las macros version a version.
La macro:
Sub ContarPalabras()
Dim x, Response, ExitResponse
Dim y As Integer
' Si ocurre algun error continuar ejecutando la macro.
On Error Resume Next
PreguntarN:
' Preguntar que palabra.
x = InputBox("Escriba la palabra buscada y luego click en Ok." _
& Chr$(13) & Chr$(13) & _
"IMPORTANTE: La busqueda no es sensible a mayusculas/minusculas")
' Si el texto Ingresado es en blanco o espacios, consulta si sale.
If x = "" Or x = " " Then
ExitResponse = MsgBox("O usted clickeo Cancel " & _
"o no escribio ninguna palabra, ¿desea salir?", vbYesNo)
If ExitResponse = 6 Then
End
Else
' Si responde que no a salir, preguntar de nuevo.
GoTo PreguntarN
End If
Else
' Buscar y contar las ocurrencias.
With ActiveDocument.Content.find
Do While .Execute(FindText:=x, Forward:=True, Format:=True, _
MatchWholeWord:=True) = True
' Mostrar los resultados en la barra de estado de Word.
StatusBar = "Word esta contando las ocurrencias de la palabra " & _
Chr$(34) & x & Chr$(34) & "."
y = y + 1
Loop
End With
' Mostrar la caja de mensajes con los resultados.
Response = MsgBox("La palabra " & Chr$(34) & x & Chr$(34) & " fue encontrada" _
& Str$(y) & " Veces.", vbOKOnly)
End If
End Sub
Es momento entonces de insertar esto dentro de Word, para eso dentro de opciones habilitaremos la aleta de Programador
Luego podremos ver que hay una nueva aleta al final, justamente "Programador" :)
Haciendo click en ella y elijiendo nueva macro obtendremos la siguiente caja de dialogo
Le ponemos un nombre y Crear donde aparecera Visual basic, borramos el texto prellenado en el form (sub..... end sub) para que no quede nada y pegamos la macro del principio completa.
Guardamos la macro y salimos, listo, ya tenemos la macro y podemos ejecutarla manualmente pero seria mucho mas top poder ponerloa en la barra de acceso rapido o mejor aun asignandole una combinacion de teclas rapidas.
Para ello haciendo click derecho sobre la barra obtendremos dicha posibibilidad
En comandos disponibles elegimos Macros y agregamos
Luego click en personalizar Seleccionamos la macro y en Nueva tecla de metodo abreviado presionamos las teclas que queremos.
Al aceptar obtendremos un boton que ejecuta nuestra macro y tambien podemos usar la combinacion de teclas!
Y listo! ya es posible contar palabras determinadas dentro de un documento de word ejecutando la macro desde el menu de acceso rapido o desde una combiacion de teclas rapida y ademas pudimos usar una macro hecha para Word 2000 con cero modificacion!.
Comments
Anonymous
September 24, 2007
quiero poner el microsoft word gratis pero no se comoAnonymous
February 25, 2008
Necesito crear un formulario en word el cual contenga un campo de texto en donde se deba controla un número máximo de caracteres. He intentado crear una macro para que valide este campo cuando salga, pero me es imposible. Podrian ayudarme por favor?Anonymous
March 08, 2008
Martin Huaman, Si no interprete mal tú pregunta lo que requieres es limitar el numero de caracteres que se pueden ingresar en un textbox,en ese caso podes utilizar la propiedad maxlength a través de la cual se determina la cantidad de caracteres que se pueden ingresar. Saludos.Anonymous
May 11, 2008
en esta web no sale lo requerido para mi investigacion.Anonymous
May 30, 2008
The comment has been removedAnonymous
September 16, 2014
The comment has been removedAnonymous
September 19, 2014
Buenísimo..Anonymous
January 28, 2015
Excelente idea y explicación. No sólo me ha servido para el problema que tenía con la cuenta de repeticiones de una palabra en un texto.
Gracias por tu tiempo y tu generosidad.
Un saludo más que cordial.Anonymous
May 21, 2015
Buenas tardes: Necesitaría un contador para concer el número de líneas entre una dos palabras muy distantes con el objeto de seleccionar las dos palabras y el texto entre ellas para después, por ejemplo, borrarlo o sustituirlo por otro texto, etc
SaludosAnonymous
September 20, 2015
excelente mi bro que buena instrucion mil gracias parcero muy pero muy bien explicado