Tw-city.info

IT Новости
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Объектно ориентированное программирование visual basic

Иллюстрированный самоучитель по Visual Basic .NET

Введение в ООП (объектно-ориентированное программирование)

Эта глава вместе с главами 5 и 6 занимает центральное место в книге. Причины просты: язык VB.NET стал первой объектно-ориентированной версией VB, и тот, кто недостаточно хорошо разбирается в ООП, не сможет в полной мере использовать новые возможности VB.NET. Вероятно, это утверждение вас удивило – ведь возможность определения классов и создания объектов на их основе появилась еще в VB4. Чем же VB.NET так отличается от своих предшественников, что вам придется полностью переосмыслить свой стиль программирования? Развернутый ответ на этот вопрос приводится в этих трех главах.

За время преподавательской работы у нас сложилось впечатление, что большинство программистов VB почти не использовали средства ООП в предыдущих версиях Visual Basic. Это объяснялось как неудобной и плохо проработанной реализацией ООП, так и тем, что многие программисты не понимали, как правильно применять средства объектно-ориентированного программирования. Усовершенствования в VB.NET покончили с первой проблемой. Что касается второй… Что же, именно поэтому эта глава начинается с краткого курса ООП. Как бы вы к этому не относились, нормальное программирование в VB.NET возможно лишь при полноценном использовании объектной природы этого языка.

В главах 4-6 ООП рассматривается с практической точки зрения программиста VB.NET, без углубленного изучения теоретических тонкостей. Особое внимание уделяется практическим примерам и приемам, используемым при решении реальных задач. Мы постараемся обойтись без высоких материй, поскольку чрезмерное обилие деталей только отвлечет читателя от основной темы – если вас интересует теория, вы найдете ее в десятках книг, посвященных ООП. Тем не менее в ООП используется достаточно специфическая терминология, поэтому мы начнем с обсуждения важнейших концепций и терминов (читатели, хорошо разбирающиеся в ООП, могут пропустить вводную часть).

На следующем этапе рассматривается использование существующих классов и объектов, созданных на их основе. В частности, мы покажем, как использовать важный класс StringBuilder и некоторые новые классы коллекций .NET Framework (в том числе хэш-таблицы и динамические массивы). Вы узнаете о некоторых тонкостях, связанных с передачей объектов функциям и процедурам. Только после этого мы перейдем к определению новых классов и построению объектов на их основе (хотя в этой главе приводятся начальные сведения о наследовании и интерфейсах, подробное описание этих ключевых концепций ООП откладывается до главы 5).

Примечание
Несмотря на внешние различия, с позиций ООП языки С# и VB.NET очень похожи, по-этому хорошее знание материала глав 4 и 5 упростит переход на С# и Java
.

VB.NET значительно расширяет событийную модель программирования прежних версий VB, в основу которой были заложены элементы управления. В VB.NET вся программа состоит из самостоятельных объектов, взаимодействующих друг с другом. Объекты создаются по шаблонам, называемым классами. Объекты, построенные на базе одного класса:

  • обладают сходными свойствами и выполняют сходные операции;
  • не могут взаимодействовать друг с другом способами, не предусмотренными в открытом интерфейсе вашей программы;
  • изменяют свое текущее состояние со временем при поступлении специального запроса (в VB.NET это происходит при вызове метода или изменении свойства).

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

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

Тема урока: VBA – как язык объектно-ориентированного программирования (ООП).

Общие принципы построения VBA-программы.

·

скачать 2.5
электронные покупки

Программа не является самостоятельным структурным элементом в иерархии объектов языка VBA, и поэтому редактор VBA распознаёт по именам не программы, а процедуры, модули и проекты. Любая VBA-программа обязательно содержит хотя бы одну процедуру — по той простой причине, что компилятор языка VBA может выполнять только операторы, помещённые в процедуру. Однако выполняемая программа-процедура может, в свою очередь, обращаться к одной или нескольким другим процедурам, помещённым в один или несколько модулей, входящих в состав одного или проектов. Другими словами, правильно будет сказать, что в VBA строки программного кода организованы в процедуры, которые размещаются в модулях, а модули размещаются в проектах. Отсюда можно сделать вывод, что программный код VBA состоит из следующих «строительных блоков».

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

Процедура — это отдельная единица программного кода VBA, которую можно вызвать по имени для выполнения и которая может выполнять самостоятельно. Любая процедура содержит один или несколько операторов.

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

Проект — включает в себя все модули, формы и связанные с приложением объекты, относящиеся к конкретному документу, причём проект сохраняется вместе с самим этим документом.

Тема раздела: Основные понятия VBA.

Тема урока: VBA – как язык объектно-ориентированного программирования (ООП).

VBA– язык программирования. Он позволяет быстро получать результаты – конструировать профессиональные приложения, решающие практически все задачи, встречающие в среде Windows. При этом создание многих приложений с использованием VBA проще и быстрее, чем с применением других языков программирования.

VBA позволяет создавать клиент-серверные приложения, связывая компьютер со всем остальным миром, создавать универсальные, автоматизированные приложения на платформе MS Excel, MS Word, MS PowerPoint, MS Access. Приложения Word предназначено для создания документов, основные функции: ввод и редактирование текста, форматирование, помещение текста в таблицу и колонки, колонтитулы. Excel – приложения для работы с электронной таблицей, предназначенной для манипуляции с числами. Содержит большое количество формул, функций и диаграмм. Access – программа для управления базами данных. Система Access представляет средства для создания баз данных, их добавления и редактирования. PowerPoint – программа для подготовки различных презентаций. Основные функции: форматирование текста и рисунков, работа с элементами управления.

VBA относится к языкам объектно-ориентированного программирования (ООП). ООП – методика анализа, проектирования и написания приложений с применением объектов.

Прежде чем приступить к созданию программ на языке Visual Basic for Applications, необходимо познакомиться с общими концепциями объектно-ориентированного программирования. По мере того, как программы становились все более сложными и объемными, обработка ошибок становилась более сложной задачей. Поэтому у пользователей возникла потребность в новой парадигме. Избежать незапланированного взаимодействия удалось благодаря внедрению различных программных функций в целое множество независимых моделей, а затем сборке этих моделей при создании конечной программы. Суть парадигмы ООП: не программы управляют данными, а данные управляют программами.

Основные парадигмы ООП: объект, свойство, метод, событие, класс и семейство объектов.

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

Читать еще:  Язык программирования m

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

С объектом неразрывно связан класс. Класс задает свойство и поведение объектов.Каждый объект является экземпляром какого-либо класса. Например, каждый рабочий лист МS Excel является объектом класса WorkSheet (рабочий лист), в объекте Document содержаться объекты Paragraph (абзац). Такой тип иерархии является важной частью объектной модели среды Office.

Класс содержит данные и функции, которые обрабатывают данные. Данные называются свойствами класса, а функции – методами класса. Свойства – способ хранения объектами своих данных. Одним из свойств объекта WorkSheet является его имя «ЛИСТ1». Каждая ячейка в рабочем листе Excel представлена объектом Range, для которого свойство Value определяет текстовое или числовое значение, свойство FormatNumber управляет способом отображения этих данных. Некоторые свойства доступны только для чтения, некоторые для чтения и записи; т.е. можно как читать, так и изменять их.

Методы воздействуют на объект. Например, конкретный лист можно сделать активным. Для этого следует вызвать для него метод Activate.

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

Механизмы ООП

В ООП принято выделять три основных механизма, лежащих в его основе:

Инкапсуляция – это механизм, связывающий вместе код и данные, которыми он манипулирует и одновременно защищает их от внешних помех и некорректного использования. Т.е. защитная оболочка, предохраняющая код и данные от изменений. В ООП основой инкапсуляции является – класс. Преимуществом VBA как языка программирования, является то, что пользователю нет необходимости создавать свои классы, поскольку можно использовать уже готовые.

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

Полиморфизм – способность объекта принимать различные формы.

В рамки ООП удачно вписывается концепция визуального программирования. Все визуальные составляющие, такие как формы, элементы управления, меню и панели инструментов являются объектами со своими свойствами и методами. Эти объекты реагируют на определенные события. Например, форма – это объект класса UserForm. На форме мы также можем размещать другие объекты, называемые элементами управления: поля, списки, переключатели, кнопки и т.п.

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

Для создания приложений для офиса, необходимо знать программы пакета Office. Во-первых, знание функций, – какие доступны для разработчика в различных компонентах пакета Office. Во-вторых, знакомство со встроенными возможностями приложений пакета Office сэкономит время и силы.

Объектно-ориентированное программирование и VBA

Объектно-ориентированное программирование и VBA

В результате своей эволюции Visual Basic превратился в (почти) объектно-ориентированный язык программирования. Хотя освоение приемов работы с объектами и представляет некоторую трудность в начале знакомства с VBA, ожидаемая отдача того стоит. Тонкости программирования объектов будут рассмотрены в главе 12, но уже здесь имеет смысл получить хотя бы поверхностное представление о предмете.

Похожие главы из других книг:

ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ НА JAVA 7. КЛАССЫ

ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ НА JAVA 7. КЛАССЫ Базовым элементом объектно-ориентированного программирования в языке Java является класс. В этой главе Вы научитесь создавать и расширять свои собственные классы, работать с экземплярами этих классов. Напомним,

Объектно-ориентированное моделирование

Объектно-ориентированное моделирование 3ds Max 2008 – объектно-ориентированная программа, то есть все, что создается в программе, является объектами. Геометрия, камеры и источники света на сцене – это объекты. Объектами также являются модификаторы, контроллеры, растровые

Объектно-ориентированное программирование и VBA

Объектно-ориентированное программирование и VBA В результате своей эволюции Visual Basic превратился в (почти) объектно-ориентированный язык программирования. Хотя освоение приемов работы с объектами и представляет некоторую трудность в начале знакомства с VBA, ожидаемая

Глава 12. Объектно-ориентированное программирование.

Глава 12. Объектно-ориентированное программирование. В этой главе .

Понимание свойств, методов и событий — главных компонентов VBA-объектов

Работа с объектными моделями

Использование форм как объектов

Выяснение и установка свойств объектов

Глава 6 Наследование и объектно-ориентированное проектирование

Глава 6 Наследование и объектно-ориентированное проектирование Объектно-ориентированное программирование (ООП) существует почти 20 лет, поэтому, вероятно, вы имеете некоторое представление о наследовании, производных классах и виртуальных функциях. Даже если вы

4.5. Unix и объектно-ориентированные языки

4.5. Unix и объектно-ориентированные языки С середины 80-х годов прошлого века большинство новых конструкций языков обладают собственной поддержкой объектно-ориентированного программирования (Object-Oriented Programming — OO). Напомним, что в объектно-ориентированном программировании

1.1. Введение в объектно-ориентированное программирование

1.1. Введение в объектно-ориентированное программирование Прежде чем начать разговор о самом языке Ruby, неплохо было бы потолковать об объектно-ориентированном программировании вообще. Поэтому сейчас мы вкратце рассмотрим общие идеи, лишь слегка касаясь

Объектно-ориентированное программирование

Объектно-ориентированное программирование Абстракция, наследование, полиморфизм, инкапсуляцияГоворя об ООП (объектно-ориентированном программировании), нельзя обойти стороной эти четыре базовых понятия. Поэтому ниже будет приведено их краткое описание.Абстракция –

2.4. Объектно-ориентированный подход

2.4. Объектно-ориентированный подход Вспомним спецификацию нашего массива в предыдущем разделе. Мы говорили о том, что некоторым пользователям может понадобиться упорядоченный массив, в то время как большинство, скорее всего, удовлетворится и неупорядоченным. Если

Процедурно-ориентированное программирование

Процедурно-ориентированное программирование В части II были представлены базовые компоненты языка С++: встроенные типы данных (int и double), типы классов (string и vector) и операции, которые можно совершать над данными. В части III мы увидим, как из этих компонентов строятся

17.1.1. Объектно-ориентированное проектирование

17.1.1. Объектно-ориентированное проектирование Из чего складывается объектно-ориентированное проектирование четырех рассмотренных выше видов запросов? Как решаются проблемы их внутреннего представления?С помощью наследования можно определить взаимосвязи между

Объектно-ориентированное моделирование

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

Объектно-ориентированное программирование

Объектно-ориентированное программирование Питон — объектно-ориентированный язык со множественным наследованием. Можно сказать, что Питон поддерживает классическую ОО-модель с некоторыми особенностями. Классы в Python могут иметь статические переменные, разделяемые

Объектно-ориентированное конструирование ПО

Объектно-ориентированное конструирование ПО У нас уже накоплено достаточно оснований, чтобы попытаться определить ОО-конструирование ПО. Это будет лишь первый набросок, более конкретное определение последует в следующей лекции.ОО-конструирование ПО (определение 1)

Читать еще:  Язык программирования шарп

Конструирование объектно-ориентированного ПО

Конструирование объектно-ориентированного ПО Мы уже давали определение конструирования ОО-ПО: будучи весьма общим, оно представляет метод следующим образом: «основывать архитектуру всякой программной системы на модулях, полученных из типов объектов, с которыми

Объектно-ориентированный язык Visual Basic.

Visual Basic язык поддерживающий событийно-управляемоепрограммирование (event-driven programming): визуальное проектирование и элементы объектно-ориентированного программирования, Выпустив в 1991 г. первую версию VB, Microsoft достаточно скромно оценивала возможности этой системы, ориентируя ее, прежде всего, на категорию начинающих и непрофессиональных программистов. Основной задачей тогда было выпустить на рынок простой и удобный инструмент разработки в тогда еще довольно новой среде Windows, программирование в которой представляло проблему и для опытных специалистов,

В 1992 г. была выпущена втораяверсия, а в 1993-94 гг. третьяверсия; Эта версия позволила продукту войти в число серьезных инструментальных средств программирования и значительно расширить свой рынок.

1996-97 гг. была выпущенапятая версия; В VB5 было много усовершенствований, он обеспечивал заметно более высокую производительность и предлагал долгожданный компилятор, преобразующийпрограмму во внутренний машинный код.

В 1998 г. появился Visual Basic 6.

В течение нескольких лет идут постоянные дебаты о том, может ли Visual Basic считаться языком объектно-ориентированного программирования (ООП). С одной стороны, элементы ООП в нем были всегда, и их число росло от версии к версии. С другой — многих нужных возможностей ООП в Visual Basic не было. Появление Visual Basic.NET должно положить конец всем этим дискуссиям, так как в нем будут реализованы все необходимые атрибуты ООП. Напомним, что модель ООП подразумевает наличие трех обязательных механизмов инкапсуляции, полиморфизма и наследования. Первые два были реализованы в предыдущих версиях и получили развитие в новой, а последний появится в ней впервые.

Visual Basic наконец-то стал полноценным объектно-ориентированным языком. Безусловно, Visual Basic.NET серьезно прибавил в мощности средств, но работать с ним будет сложнее. Ведь объектно-ориентированные методы программирования предъявляют более серьезные требования к квалификацииразработчика, на которою перекладываются многие проблемы обеспечения работоспособности программы.

Дадим также описание некоторых новых элементов языка на концептуальном уровне[21].

Web Services — это некая принципиально новая платформно-независимаятехнология, связанная с использованием стандарта XML и протокола SOAP (Simple Object Access Protocol — протокол доступа к простым объектам), которая будет широко интегрирована в средства разработки. Ключевая идея состоит в создании компонентов уровня бизнес-логики,которые взаимодействуют с внешними объектами с помощью стандартных Web-протоколов.

Object-oriented: Для того, чтобы называться объектно-ориентированным, язык должен удовлетворять трем критериям:

1. Он должен поддерживать инкапсуляцию(encapsulation). VB делает это с 4 версии

2. Обязан поддерживать наследование (inheritance), VB 7 будет иметь полноценное наследование.

3 Ну и поддержка полиморфизма(ро1утогрш8т). В VB это работает с 4 версии. Итак, в 7 версия будет вполне удовлетворять этим критериям.

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

Free-threaded (Многопоточность). Это комплексная концепция поддержки выполнения более чем одного потока заданий в одно и то же время. Например, пользователь может продолжать работать с приложением, после того как он задал операцию фоновой печати документа. Подобный режим крайне необходим для создания масштабируемых серверных компонентов и может быть полезен для реализации пользовательского интерфейса. Создание таких вычислительных потоков выполняется примерно следующим образом:

Inheritance (Наследование). Это одно из ключевых понятий объектно-ориентированного программирования возможность использования (в том числе расширения) поведения чужого объекта. Упрощенно говоря, можно создать объект Продукт, а затем на его основе объекты Программный Продукт и Технический Продукт. Оба новых объекта будут наследовать свойства и методы объекта Продукт, и при этом вы сможете изменить поведение наследующего объекта. Visual Basic-разработчики теперь могут использовать ключевое слово Inherits для подключения процедур уже существующего класса:

Overloading. В русском языке нет соответствующего термина в данном контексте: использование одного и того же идентификатора для обозначения разных процедур. Выбор нужной процедуры выполняется в зависимости от числа и типа параметров. Это особенно полезно для создания одного свойства, поддерживающего разные типы аргументов.

Polymorphism (Полиморфизм). Возможность иметь несколько объектов разного типа, но с одинаковыми методами. Это позволяет писать код, вызывающий тот метод, который нужен в зависимости от используемого в данный момент объекта.

Structured Exception Handling (Структурная обработка особых ситуаций). Это новая структура для обработки ошибок, уже реализованная во многих языках. Она должна заменить старую и весьма негибкую (точнее, ненаглядную) конструкцию On Error Goto|Resume|Next. Новый блок содержит ключевые слова Try, Catch, Finally:

Type Safety (Контроль типов данных). Запрет неявного преобразования типов с помощью нового оператора Option Strict. Кому-то из программистов это не понравится, так как данный режим заставляет задуматься о типах переменных и использовать специальные функции при присвоении переменной значения другой переменной другого типа. Но это совершенно необходимо, если вы хотите писать надежные программы и снизить затраты на отладку приложений.

User Interface Inheritance (Наследование пользовательского интерфейса). VB7 будет включать наследование форм, т.е. создание новых форм на основе некоторых шаблонов. В отличие от существующего сегодня механизма подключения новых форм на основе шаблонов, в данном случае будет автоматически поддерживаться механизм наследования: изменения в родительском шаблоне (например, корпоративном логотипе) будут отражаться 1 в дочерних формах.

VBA как система объектно -ориентированного программирования

Основные понятия объектно – ориентированного программирования

В основе объектно-ориентированного программирования управляемого событиями лежат понятия класс, инкапсуляция, объект, наследование, полиморфизм, событие и сообщение. В качестве объектов могут рассматриваться конкретные предметы, а также абстрактные или реальные сущности. Например, объектами могут быть покупатель, фирма, производящая товары, банк, заказ на поставку и др. В частном случае, в VBA объектом являются элементы пользовательского интерфейса, которые создаются на Форме пользователя (UserForm) или на рабочем листе, а также рабочая книга и ее элементы.
Объект является комбинацией состояния и поведения. Состояние описывается переменными экземпляра, а его возможное поведение характеризуется присущими ему методами. Каждый объект является представителем некоторого класса однотипных объектов, т.е. объект является экземпляром класса.
Класс определяет общие для всех его объектов методы и свойства. Методы — это программные процедуры, реализующие некоторый алгоритм, который определяет взаимодействие объектов класса с внешней средой.
Свойства представляют собой характеристики (атрибуты), присущие объектам (например, размер шрифта, название и др.).
Инкапсуляция — это скрытие информации. При объектно-ориентированном программировании возможен доступ к объекту только через его методы и свойства. Внутренняя структура объекта скрыта от пользователя, т.е. объекты — это самостоятельные сущности, отделенные от внешнего мира. Инкапсуляция позволяет изменять реализацию объектов любого класса без опасений, что это вызовет нежелательные побочные эффекты в программной системе. Это мощное средство обеспечивает многократное использование одного и того же программного кода, позволяя собирать программу из готовых модулей, как здание из отдельных кирпичиков, но различной архитектуры и функционального назначения.
Наследование — это возможность выделить свойства, методы и события одного объекта и приписать их другому объекту, иногда с их модификацией. С точки зрения программиста, новый класс должен содержать только коды и данные для новых или изменяющихся методов. Полиморфизм — это способность объектов выбирать операцию на основе данных, принимаемых в сообщении. Каждый объект может реагировать по-своему на одно и тоже сообщение. Например, команда Print будет по-разному воспринята черно-белым или цветным принтером. В заключение следует сказать, что ООП это технология программирования, позволившая перейти к индустриальным методам разработки программного обеспечения.

Читать еще:  Как учить программирование

Общие сведения о VBA

Существует целый ряд систем программирования, позволяющих в той или иной степени реализовать концепцию объектно – ориентированного подхода при разработке программных средств. Наиболее полные возможности имеют такие системы, как Си ++, Java, Visual Basic. В отличие от Visual Basic, VBA не является языком объектно–ориентированного программирования (ООП) в строгом смысле этого слова., тем не менее, в нем очень широко используется элементы объектно – ориентированного программирования и связанные с ним понятия.
VBA положен в основу системы программирования Visual Basic. Корпорация Microsoft использует возможности VBA при разработке приложений Windows, осуществляя параллельное с разработкой тестирование приложений с помощью макроязыка. Система программирования Visual Basic for Application (Visual Basic для приложений — VBA) занимает важное место в стратегии программных продуктов фирмы Microsoft.
Другим подмножеством VBA является язык описания сценариев VBScript. Его основным назначением является создание интерактивных Web –страниц.
Таким образом, изучив программирование в среде VBA, без больших усилий можно освоить программирование на Visual Basic или VBScript.
Так что же такое VBA? Visual Basic for Application — это подмножество Visual Basic (VB), которое включает почти все его средства создания приложений, структуры данных и управляющие структуры, возможность создания пользовательских типов данных. VBA, как и VB, является языком визуального и событийно управляемого программирования — в нем есть возможность создания форм со стандартным набором элементов управления и написания процедур, обрабатывающих события, которые возникают при тех или иных действиях системы и конечного пользователя. Кроме того, он позволяет применять элементы ActiveX. В общем, это полноценный язык программирования, хотя и не обладающий всеми возможностями последних версий Visual Basic. С другой стороны, VBA позволяет работать с огромным набором объектов — по существу, в нем определены все объекты приложений MS Office.
Отметим одну, может быть главную, особенность программирования на VBA. Программист, создавая проект на каком-либо языке программирования, работает в соответствующей среде, где язык — главное средство, а создание кода — главная цель действия программиста. А при работе на VBA целью является создание документа в широком смысле (документа Word, рабочей книги Excel, презентации и т. д.). Проект на VBA-результат побочной деятельности по созданию документа. Более того, проект на VBA, независимо от какого-либо документа, создать нельзя, даже если никакие свойства этого документа не используются.
Приступая к очередному сеансу работы, разработчик открывает одно из приложений MS Office, и в этот момент в языке VBA автоматически становится доступным объект Application, определяющий это приложение, а также все встроенные в него объекты.
Можно определить и создать, объект Application для любого приложения MS Office, получив тем самым доступ ко всем его объектам.
Итак, VBA отличается от Visual Basic и прочих языков программирования тем, что он предоставляет возможность непосредственной работы с объектами MS Office. Это позволяет эффективно использовать его для автоматизации деятельности, связанной с обработкой различных типов документов. Обычные средства VBA, унаследованные от Visual Basic, — важная, но не определяющая часть языка. VBA позволяет существенно расширить вычислительные возможности Excel. С помощью VBA можно легко и быстро создавать различные приложения, даже не являясь специалистом в области программирования.
VBA имеет графическую инструментальную среду, позволяющую создавать экранные формы и управляющие элементы. С его помощью можно создавать свои собственные функции для Excel, вызываемые мастером функций, разрабатывать макросы, создавать собственные меню и многое другое. VBA придает документам элегантность и позволяет с легкостью решать многие задачи, о возможности выполнения которых средствами Excel можно только мечтать. Как и Visual Basic, VBA реализует концепцию визуального программирования, управляемого событиями.

Объекты, методы, свойства, события

Объектам VBA присуща функциональность — они действуют определенным образом и могут откликаться на определенные ситуации. При этом если свойства объекта определяют его внешний вид и состояние, методы объекта определяют те задачи, которые может выполнить данный объект. Методы, по сути дела, представляют собой сегмент программного кода внедренный в объект. Существует определенный формат программного кода, задающего установку свойства и использование метода:

Объект. Свойство = ЗначениеСвойства

Объект. Метод [Параметр1 […]]

Здесь Объект — имя настраиваемого объекта; Свойство — это характеристика, которую нужно изменить; Метод — это команда, которая используется для изменения объекта; Значение — это новая установка свойства; Параметр — это аргумент, используемый методом.
Следующий пример показывает, как можно изменить текст в строке заголовка окна приложения посредством установки нового значения свойству Caption объекта Application:Application.Caption = “Пример установки свойства”.
Как и свойства, различные типы объектов могут иметь различные методы. Следующий пример показывает использование метода CountA (подсчет количества не пустых строк) объекта Application для определения номера последней не пустой строки активного рабочего листа:

Объекты могут реагировать на события — действия пользователя или другие внешние действия, например, щелчок по кнопке, изменение текста, нажатие клавиши и др.
Событие представляет собой действие, распознаваемое объектом, для которого можно запрограммировать отклик. Иногда свойства и методы объекта оказываются связанными в том смысле, что выполнение некоторого метода приводит к изменению свойств объекта. В свою очередь, изменение некоторых свойств может вызвать наступление событий.
Программа может обрабатывать два основных типа событий: инициируемые пользователем и генерируемые системой.
События, инициируемые пользователем, возникают в результате его действий: нажатие клавиши, щелчки кнопками мыши. Но есть события, являющиеся следствием действий пользователя. Таким образом, любое из действий пользователя может вызвать целый набор событий, и порядок их вызова может быть важным. Основными действиями пользователя, генерирующими вызов событий в программе, являются следующие:
· запуск программы;
· нажатие клавиши;
· щелчок кнопкой мыши;
· перемещение мыши;
· выход из программы.
Суть программирования на VBA заключается в двух понятиях: событие и отклик на него. Если пользователь производит какое-то воздействие на систему, допустим, кликает на кнопке, тогда в качестве отклика выполняется код созданной пользователем процедуры. Этот специальный вид процедур, генерирующих отклик на события, называется процедурами обработки событий. Если такой отклик не создан (не написана соответствующая процедура), то система никак не будет реагировать на это событие.
Таким образом, задачей пользователя является разработка программного кода процедур для обработки различных событий, которые являются важными с точки зрения функционирования программы.

Ссылка на основную публикацию
ВсеИнструменты 220 Вольт
Adblock
detector
×
×