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

VBA-программа - это не случайный набор инструкций компьютеру. Строки программного кода организованы в процедуры, которые размещаются в модулях, а последние, в свою очередь, размещаются в проектах.

Определение программы

Так что же такое программа? Говоря формально, программа- это цельная, способная функционировать (или неправильно функционировать) совокупность программного кода. Программа должна содержать один или несколько операторов, которые выполняются в порядке, заданном программистом.

Но программа не является официальным объектом VBA. VBA распознает по именам процедуры, модули и проекты, но не программы. Любая VBA-программа обязательно должна содержать хотя бы одну процедуру- просто потому, что VBA может выполнять только операторы, помещенные в процедуры, - но зато программа может управлять двумя или сразу многими процедурами, помещенными в один или несколько модулей из одного или нескольких проектов.

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

Пример программы

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

Думаю, сначала нужно объяснить, что делают в этом примере программы. Сначала создается совокупность (.массив) из шести целых величин, которым приписываются случайные значения от 1 до 1000. Затем после подсчета числа значений, превышающих определенное пороговое значение, а именно значение 500, полученный результат отображается в небольшом диалоговом окне.


Option Explicit

Const Maximum As Integer = 500

Const HowMany As Integer = 5

Dim ListOfNumbers() As Integer

Sub MAIN()

_ Dim ItemsInList, n, x As Integer

_ ReDim ListOfNumbers(HowMany)

_ Randomize

_ For x = 0 To HowMany

ListOfNumbers(x) = int( ( 1000 * Rnd) + 1)

_ Next x

_ n = CountBigNumbers()

_ MsgBox (There were n values greater than _

_ Maximum)

End Sub

Function CountBigNumbers()

_ Dim Counter As Integer, y As Integer

_ Counter = 0

_ For = 0 To HowMany

If ListOfNumbers(y) Maximum Then

Counter = Counter + 1

End If

_ Next у

_ CountBigNumbers = Counter

End Function


Весь этот блок программного кода в своей совокупности представляет собой модуль. Он состоит из ряда операторов, организованных в три раздела. Это раздел объявлений, начинающийся оператором Option Explicit, процедура типа Sub, начинающаяся оператором Sub

MAIN(). и процедура типа Function, начинающаяся оператором Function CountBigNumbers ( ). Большинство операторов этого модуля занимают по одной строке, но оператор в строке, начинающийся с выражения MsgBox, заканчивается в следующей строке.

Иерархия VBA

Теперь, после знакомства с приведенным выше примером программы, вам легче будет понять следующие определения и описания строительных блоков программного кода VBA.

* Оператор - это наименьшая, способная выполняться единица VBA-кода. Оператор может объявлять или определять переменную, устанавливать параметр компилятора VBA или выполнять какое-либо действие в программе. У допустимого оператора много сходства с законченным предложением - оператор должен содержать правильный набор частей речи, иначе это не оператор вообще.

* Процедура - это наименьшая единица программного кода, на которую можно ссылаться по имени. Это также наименьшая единица программного кода, которая может выполняться независимо. VBA распознает два главных типа процедур - Sub и Function. Любая процедура содержит один или несколько операторов, помещенных между двумя специальными операторами, - объявлением процедуры в начале и оператором завершения процедуры (End Sub или End Function) в конце.

* Модуль - это именованная единица, состоящая из одной или нескольких процедур, а также объявлений, относящихся ко всем процедурам в модуле. Хотя VBA и допускает размещение всех процедур в одном модуле, имеет смысл разместить процедуры в нескольких модулях в соответствии с выполняемыми этими процедурами задачами, чтобы с ними было проще работать.

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

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

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

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

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

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

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

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

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

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