Введение в программирование на VBA - eDrive
Введение в программирование на VBA - eDrive
Введение в программирование на VBA - eDrive
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
31<br />
<strong>в</strong>ызо<strong>в</strong>а ей передаются данные <strong>в</strong> <strong>в</strong>иде аргументо<strong>в</strong>. Определение<br />
подпрограммы:<br />
[операторХранения] Sub имяПодпрограммы ( [объя<strong>в</strong>лениеАргументо<strong>в</strong>] )<br />
[Выражение<br />
…]<br />
End Sub<br />
К операторам хранения относятся Const, Dim, Static, Public, Private, а<br />
объя<strong>в</strong>лениеАргументо<strong>в</strong> предста<strong>в</strong>ляет упорядоченную последо<strong>в</strong>ательность<br />
разделенных запятыми имен переменных, з<strong>на</strong>чения которых передаются <strong>в</strong><br />
процедуру. Как и макрос, од<strong>на</strong>жды описан<strong>на</strong>я подпрограмма используется <strong>в</strong><br />
ходе <strong>в</strong>ыполнения программы столько раз, сколько будет про<strong>в</strong>едено ее<br />
<strong>в</strong>ызо<strong>в</strong>о<strong>в</strong>. При <strong>в</strong>ызо<strong>в</strong>е ей списком (через запятую) передаются з<strong>на</strong>чения<br />
аргументо<strong>в</strong> <strong>в</strong> том порядке, <strong>в</strong> котором они следуют <strong>в</strong> описании. Чтобы<br />
отличать <strong>в</strong>ызо<strong>в</strong>ы а<strong>в</strong>торских подпрограмм от операторо<strong>в</strong>, можно пред<strong>в</strong>арять<br />
их оператором Call. Отсюда — несколько способо<strong>в</strong> <strong>в</strong>ызо<strong>в</strong>а подпрограмм:<br />
• [имяМодуля.] имяПодпрограммы [списокЗ<strong>на</strong>ченийАргументо<strong>в</strong>]<br />
• [Call] [имяМодуля.] имяПодпрограммы<br />
[ (списокЗ<strong>на</strong>ченийАргументо<strong>в</strong>) ]<br />
• [имяМодуля.] имяПодпрограммы<br />
имяИмено<strong>в</strong>анногоАргумента := З<strong>на</strong>чение [,…]<br />
Если имя модуля содержит пробелы, <strong>в</strong> <strong>в</strong>ызо<strong>в</strong>е оно заключается <strong>в</strong><br />
прямоугольные скобки. Имя модуля опускают при <strong>в</strong>ызо<strong>в</strong>ах подпрограмм <strong>в</strong><br />
пределах модуля.<br />
Как следует из этих синтаксических формул, <strong>в</strong>ызо<strong>в</strong> подпрограммы,<br />
которая не <strong>в</strong>оз<strong>в</strong>ращает з<strong>на</strong>чения, сопро<strong>в</strong>ождается передачей ей списка<br />
аргументо<strong>в</strong> через запятую после имени подпрограммы. Если подпрограмма<br />
<strong>в</strong>оз<strong>в</strong>ращает з<strong>на</strong>чение, список аргументо<strong>в</strong> заключается <strong>в</strong> скобки.<br />
Если среди списка аргументо<strong>в</strong> присутст<strong>в</strong>ует необязательный аргумент,<br />
его можно опускать, оста<strong>в</strong>и<strong>в</strong> запятую <strong>в</strong> списке. В конце же списка запятые<br />
пропущенных аргументо<strong>в</strong> не ста<strong>в</strong>ятся. При использо<strong>в</strong>ании оператора Call<br />
з<strong>на</strong>чения аргументо<strong>в</strong> следует заключать <strong>в</strong> скобки. Кроме списка, при <strong>в</strong>ызо<strong>в</strong>е<br />
подпрограмм могут использо<strong>в</strong>аться имено<strong>в</strong>анные аргументы, то есть<br />
аргументы с име<strong>на</strong>ми, определенными при описании процедуры. В случае<br />
такого <strong>в</strong>ызо<strong>в</strong>а <strong>в</strong>место того, чтобы зада<strong>в</strong>ать последо<strong>в</strong>ательный полный список<br />
аргументо<strong>в</strong>, можно прис<strong>в</strong>аи<strong>в</strong>ать з<strong>на</strong>чения <strong>в</strong> произ<strong>в</strong>ольном порядке через<br />
з<strong>на</strong>к :=.