Как работать с Excel через VBA или объектная модель Excel
Excel дает возможность управлять своими объектами (листами, ячейками, графиками) с помощью языка VBA. Чтобы создавать первые программы в Excel нужно иметь представление об объектной модели приложения.
Userform Vba Excel Свойства и Методы
Список компонентов можно выводить на экран нажатием комбинации клавиш +, при этом список отображается как при установленном, так и при снятом флажке Список компонентов (Auto List Members) вкладки Редактор (Editor) диалогового окна Параметры (Options).
В окне проекта выводится проект всех открытых рабочих книг. Это позволяет легко копировать формы и коды из одного проекта в другой, что убыстряет процесс создания новых приложений.
Перемещение указателя на значок файла в окне проекта и выполнение двойного щелчка кнопкой мыши открывает окно редактора кода (рис. 1.3) для соответствующего модуля.
Таблица 1.1. Режимы работы редактора кода
Кнопка | Режим работы |
Отдельная процедура | |
Все процедуры модуля |
Рис. 1.4. Диалоговое окно Параметры
Интеллектуальные возможности редактора кода
Написание программ существенно облегчается за счет способности редактора кода автоматически завершать написание операторов, свойств и параметров. При написании кода редактор сам предлагает пользователю список компонентов, логически завершающих вводимую пользователем инструкцию. Например, набирая код
Автоматическое отображение списка компонентов происходит только при установленном флажке Список компонентов (Auto List Members) вкладки Редактор (Editor) диалогового окна Параметры (Options), отображаемого на экране после выбора команды Сервис, Параметры (Tools, Options).
Список компонентов можно выводить на экран нажатием комбинации клавиш +, при этом список отображается как при установленном, так и при снятом флажке Список компонентов (Auto List Members) вкладки Редактор (Editor) диалогового окна Параметры (Options).
Отображение списка компонентов, логически завершающих вводимую инструкцию,, является одним из интеллектуальных качеств редактора кода. Этим качеством интеллектуальные ресурсы редактора кода не исчерпываются. Другим его такого рода качеством является автоматическое отображение на экране сведений о процедурах, функциях, свойствах и методах после набора их имени (рис. 1.6).
Рис. 1.6. Отображаемые сведения о вводимой процедуре
Описанную выше всплывающую подсказку можно также выводить на экран нажатием комбинации клавиш +. При этом всплывающая подсказка отображается как при установленном, так и при снятом флажке Краткие сведения вкладки Редактор диалогового окна Параметры (Options).
Рис. 1.7. Окно редактирования форм и панель инструментов Панель элементов
Используя панель инструментов Панель элементов из незаполненной формы, можно сконструировать любое требуемое для приложения диалоговое окно. Размещение нового управляющего элемента в форме осуществляется следующей последовательностью действий:
-
Щелкните значок того элемента, который вы собираетесь разместить в форме.
Размеры формы и расположенных на ней элементов управления можно изменять. Технология изменения размеров стандартная для Windows: выделить изменяемый элемент, разместить указатель мыши на одном из размерных маркеров и протащить его при нажатой левой кнопки мыши так, чтобы объект принял требуемые размеры. Окно редактирования форм поддерживает операции буфера обмена.
Рис. 1.8. Команды меню Формат
- Вводом с клавиатуры значения свойства в соответствующее поле.
- Значения большинства свойств можно выбрать из раскрывающегося списка. Раскрывающийся список активизируется щелчком в соответствующем поле окна свойств.
Окно Просмотр объектов (Object Browser)
Окно Просмотр объектов (Object Browser) состоит из трех основных частей:
-
Раскрывающегося списка Проект/Библиотека (Project/Library) в левом верхнем углу окна. В этом раскрывающемся списке можно выбрать различные проекты и библиотеки объектов. В частности, библиотеки объектов Excel, VBA, Office и VBAProject (объекты пользовательского проекта). Выбор в списке строки () отображает список объектов всех библиотек.
Чтение и запись значения ячейки в VBA
Объектная библиотека VBA располагает более 100 различных объектов, находящихся на различных уровнях иерархии. Иерархия определяет связь между объектами и показывает пути доступа к ним. На рис. 1.1 приведена модель встроенных объектов VBA.
Кнопка | Режим работы |
Отдельная процедура | |
Все процедуры модуля |
What Is A UserForm
The Toolbox
The UserForm Grid
The Properties Window
UserForm Control | Prefix |
CheckBox | chk |
ComboBox | cbx or cmb |
CommandButton | cmd |
Frame | fra |
Image | img |
Label | lbl |
ListBox | lst or lbx |
MultiPage | mpg |
OptionButton | opt |
RefEdit | ref |
ScrollBar | scr |
SpinButton | spb |
TabStrip | tab or tbs |
TextBox | txt or tbx |
ToggleButton | tgb |
UserForm | frm or uf |
Step #1: Insert A UserForm
Lines #1 And #5: With Me | End With
Line #2: .textBoxUnits.Text = 0
Line #3: .spinButtonUnits.Value = 0
Line #22: UserForm_Initialize
Step #6: Display The UserForm
Step #1: Go To A Module
Step #7: Close The UserForm
Как работать с Excel через VBA или объектная модель Excel
На самом деле полный путь писать не обязательно. Application — можно практически всегда не указывать. Workbooks(«Название книги») — можно не указывать, если необходимо обратиться к ячейке из активной книги, а Worksheets(«Название листа») можно не писать в случае если код должен выполнять действия на активном листе. Т.е. в можно упростить до:
UserForm Control | Prefix |
CheckBox | chk |
ComboBox | cbx or cmb |
CommandButton | cmd |
Frame | fra |
Image | img |
Label | lbl |
ListBox | lst or lbx |
MultiPage | mpg |
OptionButton | opt |
RefEdit | ref |
ScrollBar | scr |
SpinButton | spb |
TabStrip | tab or tbs |
TextBox | txt or tbx |
ToggleButton | tgb |
UserForm | frm or uf |