Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы к экзамену ПО 2014.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
211 Кб
Скачать
☆

Ключевые слова Private, Public и Static

Private – аналогично ключевому слову Dim, использование Private вместо Dim актуально в том случае, если вы хотите, что бы данное ключевое слово напоминало о том, что переменная доступна только в пределах данной процедуры или функции.

Public – позволяет сделать переменную VBA доступной из любой части проекта, однако, это будет актуальным лишь в том случае, если объявление переменных в VBA происходит в разделе Declarations (Объявления) самого модуля. Если же вы пропишите Public вместо Dim в теле процедуры, то видимость все ровно будет доступна только в данной процедуре.

Static – данное ключевое слово актуально использовать вместо Dim тогда, когда нужно сохранять значение переменной в теле процедуры. Для примера, мы перепишем предыдущий код таким образом:

Sub GetLocal_1()

Static LVar As Integer

    ' Увеличиваем значение на 2

    LVar = LVar + 2

    Label2.Caption = "Локальное значение " & LVar

End Sub

Sub GetLocal_2()

Static LVar As Integer

    ' Увеличиваем значение на 3

    LVar = LVar + 3

    Label3.Caption = "Локальное значение " & LVar

End Sub

Мы просто изменили ключевое слово Dim на Static, и теперь переменные LVar не будут удаляться из памяти после выполнения процедур. Объявление переменных в VBA. Обратите внимание, что мы объявили переменные с одним именем, это можно, так как они находятся в отдельных процедурах.

Option Explicit

Sub Check_Variables()

    Dim a As String

    a = "Привет от www.excel-vba.ru"

    MsgBox а, vbInformation

End Sub

А если использовать Option Explicit, то такая опечатка будет сразу обнаружена еще до выполнения кода и, что немаловажно – подсвечена. Так что Вам даже не придется её искать, а останется лишь исправить ошибку. Использование констант VBA актуально в следующих случаях:

  • Если в коде часто используется одно значение, например, код цвета, или параметры компонента.

  • Универсальность – вы можете в одной строке сразу прописать идентификатор, назначить тип данных и присвоить нужное значение.

  • Поиск и исправление – не надо пробегаться по всему коду в поисках данных для исправления.

В большинстве случаев имена констант прописывают заглавными буквами, дабы отличать их от имен переменных, например:

Const COMP_NAME As String = “Microsoft”

Как видим, для объявления константы используется ключевое слово Const, в отличии от переменных, константные значения занимают меньше места. Приоритеты операций

Порядок выполнения операций определяется расстановкой круглых скобок и приоритетом (старшинством) операций. Это обеспечивает однозначность в трактовании значений выражений. В таб. 10 приведены приоритеты выполнения операций.

Таблица 10. Приоритеты операции VBA

Приоритет

Операция

1

Вызов функции и скобки

2

^

3

- (смена знака)

4

*, /

5

\

6

Mod

7

+, -

8

>, <, >=, <=, <>, =

9

Not

10

And

11

Or

12

Xor

13

Eqv

14

Imp

Для иллюстрации вышесказанного приведем пример программы, вычисляющей диаметр, периметр и площадь круга, заданного радиусом (листинг 2).

Листинг 2. Переменные, константы, операции

Private R As Single 'радиус

Public D As Single, S As Single, P As Single 'диаметр, периметр, площадь

Const PI = 3.14 'Константа PI (имеется встроенная функция VBA)

Sub sample2()

Dim res As String

R = 20

D = 2 * R 'вычисляем диаметр

S = PI * R ^ 2 'вычисляем площадь

P = D * PI 'вычисляем периметр

'формируем строку сообщения

res = "Для окружности с радиусом " & CStr(R) & " диаметр равен " & CStr(D) &

_ ", периметр - " & CStr(P) & ", площадь - " & CStr(S)

Debug.Print res ' вывод результата в окно отладчика

End Sub