50. Основы программирования на языке Visual Basic for Applications
В программировании базовыми понятиями являются «переменная» и «значение переменной». Переменная (variable) это величина (объект), значение которой меняется в ходе выполнения программы. Переменная в компьютере представляется по присвоенному ей имени, и ее значение определяется оператором присвоения.
Для каждого идентификатора переменной выделяется место в памяти, где хранится ее значение. Запомним и уясним, на первый взгляд, элементарное понятие: любая программа использует переменные и их значения. Для каждого встречаемого в программе нового имени переменной VBA автоматически определяет ее (выделяет для нее место в памяти). Это место остается пустым до присвоения переменной какого-либо значения. Переменные сравнивают с контейнерами для хранения данных любых типов.
Данные описывают объект числами, буквами и другими способами. Над числами выполняются арифметические, над буквами логические операции. Уже это свидетельствует о разных типах данных, для каждого из которых приняты свои способы их внутримашинного представления.
Итак, каждая переменная обладает собственным типом. Типы данных делятся на простые (или скалярные) и сложные. У простых типов значения данных единые и неделимые. Простые типы данных подразделяются на арифметические, строковые и логические.
В Visual Basic Application применяются 11 типов данных и один пользовательский тип данных. При написании программ используются константы и переменные, которые могут применяться: в одной процедуре; во всех процедурах модуля; во всех процедурах базы данных.
VBA относится к языкам объектно-ориентированного программирования (ООП), которое можно описать как методику анализа, проектирования и написания приложений с помощью объектов.
Все визуальные объекты, такие, как Рабочая книга (WorkBook), Рабочий лист (Worksheet), Активная ячейка (ActiveCell), Диапазон (Range), Диаграмма (Chart), Форма (UserForm), являются объектами. В VBA имеется более 100 встроенных объектов.
Семейство (объект Collection) представляет собой объект, содержащий несколько других объектов, как правило, одного типа. Например, объект WorkBooks (Рабочие книги) содержит все открытые объекты WorkBook (Рабочая книга). Каждый элемент семейства нумеруется и может быть идентифицирован либо по номеру, либо по имени. Например, worksheets (1) обозначает первый рабочий лист активной книги, a worksheets (Лист1) - рабочий лист с именем Лист1.
В VBA используется механизм OLE (Object Linking and Embedding - связывание и внедрение объектов), который позволяет взаимодействовать с любыми программами, поддерживающими OLE. Вручную в рабочий лист OLE-объекты вставляются командой Вставка/Объект с выбором в появившемся диалоговом окне Вставка объекта из списка на вкладке Создание внедряемого объекта. OLE-объект отличается от обычного тем, что при выборе внедренного объекта (при перемещении на него указателя и щелчке кнопкой мыши) активизируется программа, связанная с этим объектом, и меню приложения заменяется меню программы, его создавшей.
Важнейшим понятием ООП является класс. Класс обычно описывается как проект, на основе которого впоследствии будет создан конкретный объект. Таким образом, класс определяет имя объекта, его свойства и действия, выполняемые над объектом. В свою очередь, каждый объект, в соответствии с описанным выше, является экземпляром класса.
Объектная библиотека VBA содержит более 100 различных объектов, находящихся на разных уровнях иерархии. Иерархия определяет связь между объектами и показывает пути доступа к ним.
Метод - действие, выполняемое над объектом. Метод можно применять ко всем объектам семейства. Синтаксис применения метода: Объект.Метод. Например, к семейству chartobjects (Диаграммы) рабочего листа Лист1 применен метод Delete (Удалить), который приводит к удалению всех диаграмм с рабочего листа Лист1:
Worksheets("Лист!") .ChartObj ects.Delete
Свойство – атрибут объекта, определяющий его характеристики, такие, как размер, цвет, положение на экране и состояние объекта, например доступность или видимость. Чтобы изменить характеристики объекта, надо просто изменить значения его свойств. Синтаксис установки значения свойства: Объект.Свойство = ЗначениеСвойства. Свойство можно изменять сразу у всех объектов семейства. Например, с помощью установки свойству Visible (Видимость) значения False (Ложь) все рабочие листы активной книги (семейство объектов Worksheets) скрываются:
Worksheets.Visible = False
Среди свойств особое место занимают свойства, возвращающие объект. Приведем наиболее часто употребляемые подобные свойства:
Ac t іveWindow Возвращает активное окно Excel
ActiveWorkbook Возвращает активную рабочую книгу окна Excel
ActiveSheet Возвращает активный лист активной рабочей книги
ActiveDialog Возвращает активное диалоговое окно активного рабочего листа
ActiveChart Возвращает активную диаграмму активного рабочего листа
ActiveCell Возвращает активную ячейку активного рабочего листа
Событие – действие, распознаваемое объектом (например, щелчок мышью или нажатие клавиши), для которого можно запрограммировать отклик. События возникают в результате действий пользователя или программы, или же они могут быть вызваны системой.
Суть программирования на VBA как раз и заключается в этих двух понятиях: событие и отклик на него. Если пользователь производит какое-то воздействие на систему, например нажимает кнопку, тогда в качестве отклика выполняется код созданной пользователем процедуры. Если такой отклик не создан, т. е. не написана соответствующая процедура, то система никак не реагирует на данное событие и оно остается безответным. Таким образом, действия, происходящие в системе, являются событиями, а отклики на них - процедурами. Этот специальный вид процедур, генерирующих отклик на события, называется процедурами обработки событий. В целом программирование на VBA состоит в создании кода программ, которые генерируют прямо или косвенно отклики на события.
Редактор VBA активизируется командой Сервис/Макрос/Редактор Visual Basic или нажатием кнопки Редактор Visual Basic панели инструментов Visual Basic. Возвратиться из редактора VBA в рабочую книгу можно нажатием кнопки Вид Microsoft Excel или нажатием соответствующей кнопки на панели задач. Интерфейс VBA состоит из следующих основных компонентов: окна проекта, окна свойств, окна редактирования кода, окна форм, меню и панели инструментов.
Окно проекта в редакторе VBA активизируется выбором команды Вид/Окно проекта или нажатием кнопки Окно проекта. В окне проекта представлена иерархическая структура файлов форм и модулей текущего проекта.
В проекте автоматически создается модуль для каждого рабочего листа и для всей книги. Кроме того, модули создаются для каждой пользовательской формы, макросов и классов. По своему назначению модули делятся на два типа: модули объектов и стандартные. К стандартным модулям относятся те, которые содержат макросы. Такие модули добавляются в проект командой Вставка/Модуль. К модулям объектов относятся модули, связанные с рабочей книгой, рабочими листами, формами, и модули класса.
Формы создаются командой Вставка/Форма, а модули класса – командой Вставка/Модуль класса. По мере создания, добавления и удаления файлов из проекта эти изменения отображаются в окне проекта.
Окно редактирования кода служит в качестве редактора для ввода и изменения кода процедур приложения. Код внутри модуля организован в виде отдельных разделов для каждого объекта, программируемого в модуле. В окне редактирования доступны два режима представления кода: просмотр отдельной процедуры и всего модуля. Переключение режимов работы окна редактирования кода осуществляется выбором одной из двух кнопок в нижнем левом углу окна редактирования кода либо установкой или снятием флажка Просмотр всего модуля вкладки Редактор диалогового окна Параметры, отображаемого на экране командой Сервис/Параметры.
Для установки параметров редактора VBA используйте вкладку Редактор диалогового окна Параметры, вызываемого с помощью команды Сервис/Параметры.
Автоматическое отображение списка компонентов происходит только при установленном флажке Список компонентов вкладки Редактор диалогового окна Параметры, отображаемого на экране после выбора команды Сервис/Параметры.
Список компонентов можно выводить на экран нажатием комбинации клавиш Ctrl+J, при этом список отображается как при установленном, так и при снятом флажке Список компонентов вкладки Редактор диалогового окна Параметры.
Отображение списка компонентов, логически завершающих вводимую инструкцию, является одним из интеллектуальных качеств редактора кода. Другим его такого рода качеством является автоматическое отображение на экране сведений о процедурах, функциях, свойствах и методах после набора их имени (рис. 2.5).
Автоматическое отображение на экране сведений о процедурах, функциях, свойствах и методах после ввода их имени происходит только при установленном флажке Краткие сведения вкладки Редактор диалогового окна Параметры, отображаемого на экране после выбора команды Сервис/Параметры (см. рис. 2.3).
Описанную выше всплывающую подсказку можно также выводить на экран нажатием комбинации клавиш Ctrl+I. При этом «всплывающая» подсказка отображается как при установленном, так и при снятом флажке Краткие сведения вкладки Редактор диалогового окна Параметры.
Редактор кода также производит автоматическую проверку синтаксиса набранной строки кода сразу после нажатия клавиши Enter. Если после набора строки и нажатия клавиши Enter строка выделяется красным цветом, то это указывает на наличие синтаксической ошибки в набранной строке. Эту ошибку необходимо найти и исправить. Кроме того, если установлен флажок Проверка синтаксиса вкладки Редактор диалогового окна Параметры, отображаемого на экране посредством выбора команды Сервис/Параметры (рис. 2.3), кроме выделения красным цветом фрагмента кода с синтаксической ошибкой на экране
Программирование в среде Visual Basic for Applications отображается диалоговое окно, поясняющее, какая возможная ошибка произошла.
Редактор кода обладает еще одной мощной интеллектуальной возможностью, увеличивающей эффективность работы пользователя. Если курсор расположить на ключевом слове языка VBA, имени процедуры, функции, свойства или метода и нажать клавишу F1, то на экране появится окно со справочной информацией об этой функции.
Для создания диалоговых окон разрабатываемых приложений VBA используются формы. Редактор форм является одним из основных инструментов визуального программирования. Форма в проект добавляется с помощью команды Вставка/Форма или нажатием кнопки Вставить UserForm. В результате на экран выводится незаполненная форма с панелью инструментов Панель элементов.
В окне свойств перечисляются основные установки свойств выбранной формы или элемента управления. Используя это окно, можно просматривать свойства и изменять их установки. Для просмотра свойств выбранного объекта надо либо щелкнуть кнопку Окно свойств, либо выбрать команду Вид/Окно свойств.
Окно Просмотр объектов (Object Browser) вызывается командой Вид/Просмотр объектов или нажатием кнопки Просмотр объектов (рис. 2.9). В этом окне приведен список всех объектов, которые имеются в системе и которые можно использовать при создании проекта.
В настоящее время почти каждое приложение, предназначенное для ведения деловой документации, имеет макроязык и средство записи макросов.
При записи макроса основное приложение создает код, который можно просмотреть и отредактировать. самый простой способ разработать макрос - это записать его, а затем изменить созданный код.
Для записи макроса и редактирования его в редакторе VBA:
Запустите в основном приложении средство автоматической записи макросов с помощью команды Сервис/Макрос/Начать запись. При этом на экране появится диалоговое окно Запись макроса. Задайте имя макроса (по умолчанию Мак-pocl, Макрос2 и т. д.) и нажмите кнопку ОК. При этом появится панель записи макроса Останов с кнопками Остановить запись и Пауза (для Word) и Относительная ссылка (для Excel). Выполните требуемую последовательность действий и остановите запись, нажав кнопку Остановить запись (кнопка Пауза используется, если необходимо выполнить какие-либо действия, которые не должны содержаться в коде программы, кнопка Относительная ссылка используется для переключения между записями с относительными и абсолютными ссылками).
Выберите записанный макрос в списке макросов основного приложения, используя команду Сервис/Макрос/Макросы, а затем нажмите кнопку Изменить. При этом запускается редактор VBA и в окне модуля выводится текст созданного макроса, который можно изменить или добавить комментарии.
http://www.vbcoding.org.ua/litall/---visual-basic-for-applications.html
http://h20000.www2.hp.com/bizsupport/TechSupport/DriverDownload.jsp?prodNameId=1146514&lang=ru&cc=ru&prodTypeId=18972&prodSeriesId=1146511&taskId=
- Материалы к вопросам Автор-составитель: Миняйлова Елена Леонидовна
- 1 Диссертация как документ-контейнер сложной структуры
- 2 Способы систематизации научной информации средствами информационных технологий
- 3 Способы автоматизации работы с понятийным аппаратом в научно-исследовательской деятельности (словарь-тезаурус, ссылки на источники литературы и т.П.)
- 4 Понятия информации и информационных технологий.
- 5. Информатизация и компьютеризация
- 6 Перспективные информационные технологии в научно-исследовательской деятельности
- 7. Информационные технологии сбора, хранения и быстрой обработки научной информации
- 8 Вычислительная техника, классификация компьютеров по применению
- 9 Проблемы и риски внедрения информационных технологий в общественной практике
- 10. Периферийные устройства. Электронная оргтехника
- 11. Техническое и программное обеспечение современных процедур научной деятельности.
- 12.Понятие модели. Основные принципы и этапы моделирования.
- 13. Компьютерное моделирование
- 14. Математическое обеспечение информационных технологий
- 15. Пакеты прикладных программ по статистическому анализу данных
- 16. Возможности и особенности пакета Statgraphics
- 17. Пакет Statgraphics. Одномерный статистический анализ: оценка числовых характеристик, подбор закона распределения случайных величин
- 18. Пакет Statgraphics. Сравнение нескольких случайных величин: сравнение числовых характеристик и законов распределения
- 19. Пакет Statgraphics. Анализ зависимостей между величинами: регрессионный и корреляционный анализ. Анализ временных рядов
- 20. Пакет Statgraphics. Многомерный анализ: метод главных компонент, кластерный, дискриминантный анализ
- 21. Имитационное моделирование. Принципы построения имитационных моделей
- 22. Имитационные эксперименты. Язык имитационного моделирования gpss - возможности, структура
- 23. Назначение и состав универсальной интегрированной компьютерной математики matlab
- 24.Интерфейс системы, основные объекты и форматы чисел matlab.
- 25.Операторы и функции в matlab.
- 26. Матричные вычисления в MathCad
- 27. Построение графиков
- 28. Основы программирования в MathCad
- 29. Текстовые и табличные процессоры
- 30. Анализ данных средствамиExcel
- 31. Пакет анализа ms Excel. Описательная статистика. Гистограммы.
- 1. Общие сведения
- 2. Основные встроенные статистические функции
- 3. Анализ выборок и совокупности
- 4. Инструмент анализа Описательная статистика
- 5. Инструмент Гистограмма
- 6. Ранг и Персентиль
- 32. Пакет анализа ms Excel. Генерация случайных чисел.
- 7. Генерирование случайных чисел
- 8. Построение выборок из генеральной совокупности
- 9. Вычисление скользящего среднего
- 10. Линейная и экспоненциальная регрессии
- 33. Корреляционно-регрессионный анализ в msExcel
- Однофакторный регрессионный анализ с применением инструмента регрессии
- 34 Поиск корней уравнения с помощью подбора параметра в ms Excel
- 35 Поиск решения. Решение задач оптимизации средствами ms Excel
- 36. Системы подготовки презентаций.
- 37 Основы web-дизайна
- 38 Основы использования языка html
- Раздел 1
- Раздел 2
- Раздел 1
- Раздел 2
- 39. Сервисные инструментальные средства.
- 40. Основы компьютерной графики.
- 41 Возможности и назначение AutoCad.
- 42 Разработка проекта в системе Autocad
- 43 Модели представления данных. Типы, структуры данных.
- 44 Базы и банки данных. Основы проектирования баз данных.
- 45 Реляционные сетевые и иерархические базы данных
- 46. Системы управления базами данных субд
- 47. Объекты ms Access
- 48. Построение различных типов запросов в ms Access
- 1 Создание запроса на выборку при помощи мастера
- 2 Создание запроса на выборку без помощи мастера
- 3. Создание запроса с параметрами, запрашивающего ввод условий отбора при каждом запуске
- 49. Формы и отчеты в ms Access
- 50. Основы программирования на языке Visual Basic for Applications
- 51. Базы знаний
- 52. Компьютерные сети: Локальные, корпоративные, региональные, глобальные.
- 53. Службы сети Интернет
- 54. Работа с почтовым клиентом.
- 55 Планирование совместной деятельности в корпоративной сети с помощью почтовых программ.
- 56. Работа со средствами навигации в www
- 57 Методы и средства поиска информации в Интернет
- 1 Поисковые системы
- 3. Каталоги интернет-ресурсов
- 58. Деловые интернет-технологии
- 59. Проблемы защиты информации.
- 60. Организационные методы защиты информации
- 61. Технические и программные методы защиты локальных данных
- 62.Технические и программные методы защиты распределённых данных.
- 1) Служба www
- 2) Электронная цифровая подпись (эцп)
- 63 Тенденции развития информационных технологий
- 64. Пути решения проблемы информатизации общества
- 65. Новые технические средства и программные продукты, интеллектуализация средств
- 66. Внедрение информационных технологий (ит) в образование
- Глава 1 общие положения
- Глава 2 государственное регулирование и управление в области информации, информатизации и защиты информации
- Глава 3 правовой режим информации
- Глава 4 распространение и (или) предоставление информации
- Глава 5 информационные ресурсы
- Глава 6 информационные технологии, информационные системы и информационные сети
- Глава 7 защита информации
- Глава 8 права и обязанности субъектов информационных отношений. Ответственность за нарушение требований законодательства об информации, информатизации и защите информации
- Глава 9 заключительные положения
- 9 Августа 2010 г. № 1174
- Глава 1 общие положения
- Глава 2 состояние развития информационного общества
- Глава 3 цель, задачи и условия развития информационного общества
- Глава 4 факторы развития информационного общества
- Глава 5 приоритетные направления развития информационного общества
- Глава 6 показатели системы мониторинга
- Глава 7 механизм реализации настоящей стратегии
- Глава 8 ожидаемые результаты от реализации настоящей стратегии