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!.