Ya sabes que puedes usar subrutinas en tus macros. VBA también le permite definir funciones que se pueden utilizar en sus macros. La diferencia entre funciones y subrutinas es que las funciones pueden devolver valores, mientras que las subrutinas no. Considere las siguientes macros de VBA:

Sub Macro1()

TooMany = TestFunc     If TooMany Then StatusBar = "Too many pages"

End Sub
Function TestFunc()

TestFunc = False     If Selection.Information(wdNumberOfPagesInDocument) > 10 Then        TestFunc = True     End If End Function

Hay dos macros en este código. Uno es la función (TestFunc) y el otro es una macro (Macro1) que se utiliza para invocar la función. Cuando se ejecuta la función, puede hacer cualquier cosa que se haga en una macro normal. En este caso, realiza una prueba que da como resultado que la variable TestFunc se establezca en Verdadero o Falso. Tenga en cuenta que este nombre de variable es el mismo que el nombre de la función. Este es el valor que devuelve la función a cualquier programa que la llame.

Lo que nos lleva a la macro Macro1. Tenga en cuenta que la macro TestFunc puede aparecer en el lado derecho del signo igual. Esto hace que las funciones sean muy poderosas y una parte importante de cualquier programa. VBA ejecuta la función y devuelve cualquier valor apropiado de esa función y lo asigna a la variable en el lado izquierdo del signo igual (TooMany). A continuación, el programa actúa sobre el valor devuelto.

_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 (1535) se aplica a Microsoft Word 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Word (Word 2007 y más tarde) aquí:

link: / wordribbon-Understanding_Functions [Comprensión de funciones].