Sie wissen bereits, dass Sie in Ihren Makros Unterprogramme verwenden können. Mit VBA können Sie auch Funktionen definieren, die in Ihren Makros verwendet werden können. Der Unterschied zwischen Funktionen und Unterprogrammen besteht darin, dass Funktionen Werte zurückgeben können, während Unterprogramme dies nicht können. Betrachten Sie die folgenden VBA-Makros:

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

Dieser Code enthält zwei Makros. Eine ist die Funktion (TestFunc) und die andere ist ein Makro (Macro1), mit dem die Funktion aufgerufen wird. Wenn die Funktion ausgeführt wird, kann sie alles tun, was in einem regulären Makro ausgeführt wird. In diesem Fall wird ein Test durchgeführt, der dazu führt, dass die Variable TestFunc entweder auf True oder False gesetzt wird. Beachten Sie, dass dieser Variablenname mit dem Funktionsnamen identisch ist. Dies ist der Wert, der von der Funktion an ein beliebiges Programm zurückgegeben wird.

Das bringt uns zum Makro Macro1. Beachten Sie, dass das TestFunc-Makro auf der rechten Seite des Gleichheitszeichens angezeigt werden kann. Dies macht Funktionen sehr leistungsfähig und ein wichtiger Bestandteil jedes Programms. VBA führt die Funktion aus und gibt den für diese Funktion geeigneten Wert zurück und weist ihn der Variablen auf der linken Seite des Gleichheitszeichens (TooMany) zu. Das Programm reagiert dann auf den zurückgegebenen Wert.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der WordTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

WordTips ist Ihre Quelle für kostengünstige Microsoft Word-Schulungen.

(Microsoft Word ist die weltweit beliebteste Textverarbeitungssoftware.) Dieser Tipp (1535) gilt für Microsoft Word 97, 2000, 2002 und 2003. Sie finden eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Word (Word 2007) und später) hier: