290 likes | 947 Views
Объектная модель VBA. Этапы разработки приложения. Определение потребностей пользователя – постановка задачи. Проектирование приложения, удовлетворяющего заданным условиям. Разработка интерфейса. Разработка приложения. Тестирование и отладка. Разработка документации и справочной системы.
E N D
Этапы разработки приложения • Определение потребностей пользователя – постановка задачи. • Проектирование приложения, удовлетворяющего заданным условиям. • Разработка интерфейса. • Разработка приложения. • Тестирование и отладка. • Разработка документации и справочной системы. • Установка приложения. • Обновление приложения в случае необходимости.
Проектированиеприложения • Файловая структура. • Структура данных. • Формулы или VBA? • Надстройка или файл рабочей книги. • Обработка ошибок. • Использование специальных возможностей. • Вопросы производительности. • Уровень безопасности.
Разработка интерфейса • Использование элементов ленты. • Использование контекстных меню, которые могут быть изменены с помощью VBA. • Использование комбинаций клавиш. • Использование пользовательских диалоговых форм. • Размещение элементов управления непосредственно на рабочем листе.
Разработка интерфейса • Добивайтесь единообразия. • Выбирайте простые решения. • Разбивайте окна ввода. • Не переусердствуйте с цветом. • Отслеживайте шрифты и графику.
Свойства Свойство – это характеристика объекта. • Name – свойство представляет собой строку, содер-жащую имя рабочей книги, например, Книга1.xlsx. • FullName– свойство представляет собой строку, содержащую полный путь и имя рабочей книги, например, D:\Документы\Книга1.xlsx. • Date1904 – логическое свойство, значение которого равно True, если рабочая книга использует систему дат 1904 года, и значение False в противном случае. • ActiveSheet– свойство, определяющее активный рабочий лист книги. Является ссылкой на объект Worksheet – рабочий лист.
Методы Метод определяет действие, выполняемое над объектом. • Close – закрытие рабочей книги. • Save– сохранение рабочей книги. • SaveAs– сохранение рабочей с другим именем или в другом формате. • Protect– защита рабочей книги. • Unprotect– отмена защиты рабочей книги.
События Событие– изменение в состоянии объекта. • Open – событие, которое происходит при открытии рабочей книги. • NewSheet– событие, которое происхо-дит при добавлении нового листа в рабочую книгу. • SheetChange– событие, которое проис-ходит при изменении ячейки любого листа рабочей книги.
Иерархия коллекций и объектов • Application • Workbooks • Workbook • Charts • Chart • Axes • Hyperlinks • Shapes • Names • Sheets • Styles • Windows
Worksheets • Worksheet • ChartObject • Cells • Comments • Hyperlinks • Names • Shapes • Charts • Dialogs • Names • RecentFiles • Sheets • Windows • Worksheets
Примеры работы с объектами VBA Application.Undo Application.Wait "12:00:00" Application.Wait Now + TimeValue("0:00:10") Application.Workbooks.Item(1).Close Application.Workbooks.Item("Книга1.xlsm").Worksheets. Item("Лист2").Activate Application.Workbooks.Item("Книга1.xlsm").Worksheets. Item("Лист2").Cells(1, 1).Value = 7 Workbooks(1).Close Workbooks("Книга1.xlsm").Worksheets("Лист2").Activate Workbooks("Книга1.xlsm").Worksheets("Лист2").Cells(1, 1). Value = 7
Некоторые полезные свойства объекта Application
Примеры ActiveCell.Value = 1 ActiveCell.ClearContents MsgBoxActiveSheet.Name Selection.Value = -5
Задание диапазона Range("B5").Select Range("A1:D10").Select Range("A1", "D10").Select Range("A1:B2", "D10:G12").Select Range("A:D").Select Range("1:10").Select Range("A:D 1:10").Select Range("A1,D10").Select
Примеры работы с объектом Range ActiveCell.RowHeight = 50 If Range("A1:A3").MergeCellsThen MsgBox "Merged" Else MsgBox "Not merged" End If Range("A6").Clear Range("C6").ClearContents Range("E6").ClearFormats
Примеры работы с объектом Range Range("B2:D10").Cells(2, 3).Value = 66 ActiveCell.Offset(1, 0).FormulaLocal = ActiveCell.FormulaLocal ActiveCell.Offset(1, 0).FormulaR1C1 = ActiveCell.FormulaR1C1 MsgBox Range("A1:D10").Count MsgBox Range("A1:D10").Rows.Count MsgBox Range("A1:D10").Columns.Count
Параметры свойств и методов в языке VBA Range("A1:D4").Copy Destination:=Range("E5:H9") expression.CreateNames(Top, Left, Bottom, Right) Range("A1:E4").CreateNamesTrue, False, False, False Range("A1:E4").CreateNames Left:=True
Параметры свойства Address expression.Address(RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo)
Параметры свойства Address expression.Address(RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo)
Примеры использования свойства Address Set mc = Worksheets("Лист1").Cells(1, 1) MsgBoxmc.Address '$A$1 MsgBoxmc.Address(RowAbsolute:=False) '$A1 MsgBoxmc.Address(ReferenceStyle:=xlR1C1) 'R1C1
Примеры использования свойства Address MsgBoxmc.Address(RowAbsolute:=False, ColumnAbsolute:=False, ReferenceStyle:=xlR1C1, _ RelativeTo:=Worksheets("Лист1").Cells(3, 3)) 'R[-2]C[-2] MsgBoxmc.Address(RowAbsolute:=False, _ ColumnAbsolute:=False, External:=True) '[Книга1.xlsm]Лист1!A1