Las macros, una vez que se ejecutan correctamente, pueden facilitarnos la vida. (Si no están funcionando bien, la vida definitivamente no es fácil). Si tiene una macro que hace mucho trabajo por usted, es posible que le interese intentar que funcione más rápido.

La primera tarea que debe hacer, por supuesto, es examinar la macro y ver si sus algoritmos (la forma en que decidió hacer las cosas) son tan eficientes como pueden ser. Una vez que esté satisfecho de que lo sean, también puede acelerar sus macros simplemente colocando varias declaraciones en la misma línea. Considere la siguiente macro simple, que encuentra la ocurrencia anterior de algo en un documento:

Sub PrevFind()

With Selection.Find       .ClearFormatting       .Forward = False       .Wrap = wdFindAsk       .Execute    End With End Sub

Esta macro es muy sencilla. Cuando guarda la macro, las declaraciones que contiene se analizan en tokens de tres bytes que VBA puede ejecutar de manera más eficiente. (Nunca ve los tokens; solo ve el equivalente en macrolenguaje de los tokens). Cuando se ejecuta la macro, el procesador de comandos de VBA toma una línea a la vez y ejecuta todos los tokens en esa línea. Por tanto, en lo anterior hay ocho líneas que el procesador recupera y ejecuta individualmente.

Ahora considere la siguiente versión de la misma macro:

Sub PrevFind()

With Selection.Find    .ClearFormatting: .Forward = False: .Wrap = wdFindAsk: .Execute End With: End Sub

Esta versión parece mucho más corta porque las líneas individuales se han concatenado y separado con dos puntos. Esto disminuye la legibilidad de la macro, pero aumenta la velocidad a la que se ejecutará. ¿Por qué?

Porque el procesador de comandos de VBA todavía toma una línea a la vez para procesar. En este caso, solo hay cuatro líneas para tomar. Menos «tiempo de agarre» significa que la ejecución es más rápida. La tercera línea de esta macro, que solía ocupar cuatro líneas, ahora se procesa como una sola línea.

Poner varias declaraciones en la misma línea reduce la legibilidad de una macro. Sin embargo, dependiendo de sus necesidades, esto podría ser una compensación justa por el aumento de velocidad que puede lograr. Deberá probar esta técnica en sus propias macros para ver si tiene sentido para usted.

_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 (1640) se aplica a Microsoft Word 97, 2000, 2002 y 2003.