Visualización de un recuento de palabras en vivo (Microsoft Word)
Word muestra, en la barra de estado, una variedad de información que puede ayudarlo mientras escribe. Por ejemplo, la barra de estado muestra el número de páginas del documento y el número de línea en la página actual. Una cosa que sería útil es si la barra de estado mostrara el número de palabras en el documento, mientras estaba escribiendo.
Sin embargo, esta característica no está integrada en Word. La barra de estado no se puede reconfigurar a través de una macro, excepto para mostrar u ocultar la barra completa o escribir un mensaje en ella. Codificar una macro que escribe continuamente un mensaje en la barra de estado significaría que no se mostraría la información normal, por lo que una solución que usa la barra de estado probablemente no sea aceptable.
Es posible escribir una macro que verifique continuamente el recuento de palabras en un documento y luego muestre el resultado en otra área del documento, como la barra de título o un botón de la barra de herramientas. Dependiendo del tipo de sistema que tenga, tal solución puede no ser aceptable; deberá realizar algunas pruebas para ver si lo es. El código interno para calcular el recuento de palabras de un documento es bastante lento, especialmente a medida que los documentos se hacen más grandes. Esto significa que la comprobación constante del recuento de palabras podría ralentizar todo el sistema, quizás hasta un grado inaceptable.
Con esta advertencia en mente, considere el siguiente conjunto de macros:
Sub AutoExec() NumberOfWords End Sub Sub NumberOfWords() Dim lngWords As Long Dim myRange As Range With Word.Application If .Windows.Count > 0 Then Set myRange = ActiveDocument.Content lngWords = myRange.ReadabilityStatistics(1).Value .Caption = Format(lngWords, "##,##0") & " words - Microsoft Word" Else .Caption = "Microsoft Word" End If .OnTime Now + TimeValue(OnTm(lngWords)), "NumberOfWords" End With End Sub Private Function OnTm(ByVal lngWd As Long) As String Select Case lngWd \ 1000 Case 0 To 10 OnTm = "00:00:01" Case 11 To 20 OnTm = "00:00:05" Case 21 To 30 OnTm = "00:00:10" Case 31 To 40 OnTm = "00:00:15" Case Else OnTm = "00:00:20" End Select End Function
Hay tres macros incluidas en este conjunto, cada una de las cuales realiza una tarea diferente. La primera macro, denominada AutoExec, se ejecutará automáticamente cada vez que se inicie Word. Su único propósito es llamar a la siguiente macro, NumberOfWords, por primera vez.
La macro NumberOfWords es el caballo de batalla de este conjunto. Comprueba si hay ventanas abiertas en Word. Si es así, llama a la codificación interna de Word para determinar la cantidad de palabras en el documento. Luego formatea la salida y la muestra en la barra de título de la ventana.
Si no hay ventanas abiertas, la macro simplemente muestra «Microsoft Word» en la barra de título.
Lo último que hace NumberOfWords es decirse a sí mismo cuándo volver a ejecutarse. Para ello, utiliza la función OnTime de VBA, configurando el tiempo de reinicio en algún momento dentro de los próximos 20 segundos. Aquí es donde entra en juego la tercera macro, OnTm. Examina el número de palabras del documento actual y determina el intervalo entre ejecuciones de la macro NumberOfWords. Si hay 10.000 palabras o menos en su documento, la macro se ejecuta cada segundo. Si hay entre 11.000 y 20.000 palabras, se ejecuta cada cinco segundos y así sucesivamente.
El motivo de esta verificación se cubrió anteriormente en este consejo: el cálculo del recuento de palabras y el formato de la información de la barra de título puede llevar un tiempo (en la terminología de VBA), y si su documento es grande, esto puede causar retrasos notorios y no deseados en la actualización de su documento. Si lo desea, puede jugar con la codificación en la función OnTm para determinar el mejor desglose de demoras para los tipos de documentos que utiliza.
_Nota: _
Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios WordTips), he preparado una página especial que incluye información útil.
link: / wordribbon-WordTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador]
.
WordTips es su fuente de formación rentable en Microsoft Word.
(Microsoft Word es el software de procesamiento de texto más popular del mundo). Este consejo (1608) se aplica a Microsoft Word 97, 2000, 2002 y 2003.