06.01.2015 Views

Введение в программирование на VBA - eDrive

Введение в программирование на VBA - eDrive

Введение в программирование на VBA - eDrive

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

35<br />

Call Вызо<strong>в</strong><br />

Call Вызо<strong>в</strong><br />

Call Вызо<strong>в</strong><br />

Call Вызо<strong>в</strong><br />

End Sub<br />

Sub Вызо<strong>в</strong> ()<br />

Static з<strong>в</strong>онок<br />

з<strong>в</strong>онок = з<strong>в</strong>онок + 1<br />

MsgBox "Вам з<strong>в</strong>онили " & з<strong>в</strong>онок & "-кратно"<br />

End Sub<br />

Dim <strong>в</strong><strong>в</strong>едено, ещеВ<strong>в</strong>едено<br />

‘ Переменные уро<strong>в</strong>ня модуля<br />

Sub Гла<strong>в</strong><strong>на</strong>я ()<br />

<strong>в</strong><strong>в</strong>едено = 5: ещеВ<strong>в</strong>едено = 10<br />

Call ПеременныеУро<strong>в</strong>няМодуля<br />

End Sub<br />

Sub ПеременныеУро<strong>в</strong>няМодуля ()<br />

MsgBox "Я з<strong>на</strong>ю з<strong>на</strong>чения переменных" & <strong>в</strong><strong>в</strong>едено & "," & ещеВ<strong>в</strong>едено<br />

End Sub<br />

Функции<br />

В тех случаях, когда требуется <strong>в</strong>ернуть результат <strong>в</strong> <strong>в</strong>ызы<strong>в</strong>ающую<br />

подпрограмму, используется особый <strong>в</strong>ид процедуры — функция.<br />

Определение а<strong>в</strong>торской функции:<br />

[операторХранения] Function имяФункции ( [объя<strong>в</strong>лениеАргументо<strong>в</strong>] )<br />

[Выражение<br />

…]<br />

[имяФункции = З<strong>на</strong>чение]<br />

End Function<br />

В тексте определения размещают <strong>в</strong>ыражение, <strong>в</strong> котором переменной,<br />

носящей имя функции, прис<strong>в</strong>аи<strong>в</strong>ают определенное з<strong>на</strong>чение. Это —<br />

<strong>в</strong>оз<strong>в</strong>ращаемое функцией з<strong>на</strong>чение.<br />

Вызо<strong>в</strong> функции не содержит оператора Call. Если от функции<br />

ожидается результат, ее аргументы заключаются <strong>в</strong> скобки, а <strong>в</strong>оз<strong>в</strong>ращаемое<br />

з<strong>на</strong>чение <strong>в</strong>ключается <strong>в</strong> операцию. В этом случае <strong>в</strong>ызо<strong>в</strong> функции<br />

предста<strong>в</strong>ляет собой только пра<strong>в</strong>ую часть <strong>в</strong>ыражения:<br />

[Оператор] [имяМодуля.] имяФункции[ (списокАргументо<strong>в</strong>) ]<br />

Фактически, <strong>в</strong> функцию передаются не сами аргументы, а их адреса.<br />

Поэтому аргументы не защищены от изменения их <strong>в</strong>нутри функции. В тех<br />

случаях, когда требуется исключить <strong>в</strong>озможность их изменения, используют

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!