Вы уже знаете, что можете использовать подпрограммы в своих макросах. VBA также позволяет вам определять функции, которые можно использовать в ваших макросах. Разница между функциями и подпрограммами заключается в том, что функции могут возвращать значения, а подпрограммы — нет. Рассмотрим следующие макросы 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

В этом коде есть два макроса. Один — это функция (TestFunc), а другой — макрос (Macro1), который используется для вызова функции. Когда функция выполняется, она может делать все, что делается в обычном макросе. В этом случае он выполняет тест, в результате которого для переменной TestFunc устанавливается значение True или False. Обратите внимание, что это имя переменной совпадает с именем функции. Это значение, которое функция возвращает той программе, которая ее вызвала.

Это подводит нас к макросу Macro1. Обратите внимание, что макрос TestFunc может появиться справа от знака равенства. Это делает функции очень мощными и важной частью любой программы. VBA выполняет функцию и возвращает любое значение, подходящее для этой функции, и назначает его переменной слева от знака равенства (TooMany). Затем программа воздействует на возвращенное значение.

_Примечание: _

Если вы хотите знать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах WordTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

WordTips — ваш источник экономичного обучения работе с Microsoft Word.

(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (1535) применим к Microsoft Word 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Word (Word 2007 и позже) здесь:

link: / wordribbon-Understanding_Functions [Общие сведения о функциях].