Читаем VBA для чайников полностью

Если переменная объявлена внутри процедуры с помощью ключевого слова Dim, то такую переменную можно использовать только внутри этой процедуры. В других частях программы VBA переменную не распознает. А вот переменные, объявленные с помощью Dim в разделе объявлений модуля, будут доступны из любой части модуля, но не из других модулей.

По умолчанию переменные локальны

Ключевое слово Private работает точно так же, как и Dim. Например, следующие два оператора объявления функционально идентичны:

Private strLouie As String

Dim strLouie As String

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

Глобальное знание

Объявление переменной с помощью ключевого слова Public делает эту переменную доступной из любой части проекта. Например:

Public intUnclassifield As Integer

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

Статическое состояние

Ключевое слово Static в объявлении переменной следует использовать тогда, когда вы хотите, чтобы переменная оставалась в памяти, - для того чтобы использовать ее значение - даже когда процедура завершила свою работу. В следующем примере переменная intLasting Variable используется как счетчик числа вызовов данной процедуры:

Sub TransientProcedure( )

Dim strTransientVariable As String

Static intLastingVariable As Integer

strTransientVariable = Format(Now(), Medium Time)

int LastingVariable = intLastingVariable + 1

MsgBox Сейчас strTransientVariable . _

Эта процедура выполнялась

intLastingVariable раз ( а ).

End Sub

В этом примере оператор intLastingVariable = intLastingVariable + 1 увеличивает значение переменной на единицу при каждом выполнении процедуры. Если переменную intLastingVariable объявить ключевым словом Dim, а не Static, то в начале каждого выполнения процедуры эта переменная получала бы нулевое значение, что лишало бы процедуру всякого смысла вообще.

Объявлять переменные ключевым словом Static (статические переменные) можно только внутри процедур. Если вы хотите, чтобы все переменные в некоторой процедуре сохраняли свои значения (даже когда процедура не выполняется), поместите ключевое слово Static в объявление самой процедуры непосредственно перед ключевым словом, определяющим тип процедуры (т.е. перед Sub или Function), например;

Private Static Sub DoIt All ()

Static Function DontDoVeryMuch(intTimeToWaste As Integer)

Обратите внимание, если в объявлении процедуры присутствует задающее область видимости ключевое слово Private (или Public), то Static идет после него.

Объявление нескольких переменных в одной строке

В одной строке программного кода можно объявить и несколько переменных. Ключевое слово Dim печатается при этом только один раз, а переменные разделяются запятыми.

Но не забывайте указать тип данных для каждой из переменных в объявлении, даже если все эти переменные одного типа. Вот пример правильно оформленного оператора этого типа:

Dim intA As Integer, intD As Integer, intL As Integer

Смешивать различные типы данных тоже разрешается:

Dim curNetWorth As Currency, datSecondTuesday As Date

При объявлении нескольких переменных в одной строке возрастает вероятность случайного пропуска объявления типа данных. Для каждой из переменных в строке с пропущенным типом данных автоматически будет выбран тип Variant. Например, при обработке оператора

Dim strX, strY, strZ As String

strX и strY интерпретируются как переменные типа Variant, а не как строковые переменные.

Размещение информации в переменных

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

Присваивание значений

Значения переменным присваиваются с помощью обыкновенного знака равенства. Например, чтобы поместить число 3 в переменную с именем intC, напечатайте intC = 3

В VBA оператор присваивания представляет собой связанную знаком равенства конструкцию, с переменной слева от него и выражением, определяющим значение переменной, справа. В приведенном выше примере выражение представляет собой просто число 3. Такие явно указанные значения называются буквальными значениями. (Выражения будут обсуждаться ниже, в разделе Выражен-и-я.)

Перейти на страницу:

Все книги серии Для чайников

Похожие книги

1001 совет по обустройству компьютера
1001 совет по обустройству компьютера

В книге собраны и обобщены советы по решению различных проблем, которые рано или поздно возникают при эксплуатации как экономичных нетбуков, так и современных настольных моделей. Все приведенные рецепты опробованы на практике и разбиты по темам: аппаратные средства персональных компьютеров, компьютерные сети и подключение к Интернету, установка, настройка и ремонт ОС Windows, работа в Интернете, защита от вирусов. Рассмотрены не только готовые решения внезапно возникающих проблем, но и ответы на многие вопросы, которые возникают еще до покупки компьютера. Приведен необходимый минимум технических сведений, позволяющий принять осознанное решение.Компакт-диск прилагается только к печатному изданию книги.

Юрий Всеволодович Ревич

Программирование, программы, базы данных / Интернет / Компьютерное «железо» / ОС и Сети / Программное обеспечение / Книги по IT
C++
C++

С++ – это универсальный язык программирования, задуманный так, чтобы сделать программирование более приятным для серьезного программиста. За исключением второстепенных деталей С++ является надмножеством языка программирования C. Помимо возможностей, которые дает C, С++ предоставляет гибкие и эффективные средства определения новых типов. Используя определения новых типов, точно отвечающих концепциям приложения, программист может разделять разрабатываемую программу на легко поддающиеся контролю части. Такой метод построения программ часто называют абстракцией данных. Информация о типах содержится в некоторых объектах типов, определенных пользователем. Такие объекты просты и надежны в использовании в тех ситуациях, когда их тип нельзя установить на стадии компиляции. Программирование с применением таких объектов часто называют объектно-ориентированным. При правильном использовании этот метод дает более короткие, проще понимаемые и легче контролируемые программы. Ключевым понятием С++ является класс. Класс – это тип, определяемый пользователем. Классы обеспечивают сокрытие данных, гарантированную инициализацию данных, неявное преобразование типов для типов, определенных пользователем, динамическое задание типа, контролируемое пользователем управление памятью и механизмы перегрузки операций. С++ предоставляет гораздо лучшие, чем в C, средства выражения модульности программы и проверки типов. В языке есть также усовершенствования, не связанные непосредственно с классами, включающие в себя символические константы, inline-подстановку функций, параметры функции по умолчанию, перегруженные имена функций, операции управления свободной памятью и ссылочный тип. В С++ сохранены возможности языка C по работе с основными объектами аппаратного обеспечения (биты, байты, слова, адреса и т.п.). Это позволяет весьма эффективно реализовывать типы, определяемые пользователем. С++ и его стандартные библиотеки спроектированы так, чтобы обеспечивать переносимость. Имеющаяся на текущий момент реализация языка будет идти в большинстве систем, поддерживающих C. Из С++ программ можно использовать C библиотеки, и с С++ можно использовать большую часть инструментальных средств, поддерживающих программирование на C. Эта книга предназначена главным образом для того, чтобы помочь серьезным программистам изучить язык и применять его в нетривиальных проектах. В ней дано полное описание С++, много примеров и еще больше фрагментов программ.

Мюррей Хилл , Бьёрн Страуструп , Бьярн Страустрап

Программирование, программы, базы данных / Программирование / Книги по IT