|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Понятия объектов, свойств, методов, событийВ VBA объект – это часть основного приложения, которая может быть изменена некоторым образом. Например, объектами являются панель инструментов, рабочие листы, рабочие книги и текстовые поля. VBA – это объектно-ориентированный язык; сначала определяется некоторый объект, а затем в нем что-либо изменяется. Каждый объект VBA имеет свойства, которые некоторым образом его описывают. Также объект VBA имеет методы, которые тем или иным образом его изменяют. Свойства и методы используются только вместе с объектом. Имя объекта и его свойства или метода отделяются точкой: · Объект.свойство, · Объект.метод. Событие – изменение в Excel, которое вызывает запуск процедуры. Если событие инициирует пользователь, то это называется точкой входа.
У объектов VBA существует своя иерархия. На самом верху иерархии находится Application (приложение), например сама Excel. Объекты Workbook, AddIns, Dialogs и Windows составляют следующий уровень иерархии и принадлежат к объектам-приложениям. Вы сможете обратиться к ним, набрав строку кода, подобную следующей: AppIication.Workbooks На следующем уровне иерархии находятся индивидуальные элементы, размещенные внутри этих наборов. (Набор включает все индивидуальные объекты данного типа.) Введя Application.Workbooks, вы сообщите VBA о том, что следует использовать все рабочие книги. Необходимо указать элементы как члены набора, чтобы VBA знал, какие объекты необходимо использовать: AppIication.Workbooks("МояРабочаяКнига"). Аналогично можно определить конкретный лист в рабочей книге: AppIication.Workbooks("МояРабочаяКнига").Worksheets ("Лист1"). Так же можно указать определенный диапазон рабочего листа. Обратите внимание, отдельная ячейка является объектом Range. AppIication.Workbooks("МояРабочаяКнига").Worksheets ("Лист1").Range("D5:N4") Язык программирования VBA имеет встроенные сокращения. Например, объект Application — начальная точка для всех объектов; может быть всегда опущен. В большинстве случаев необходимо набрать только часть иерархии. Если вы начнете иерархию с объекта Workbooks, то VBA будет знать, что все это принадлежит объекту Application. Если вы желаете, чтобы VBA что-нибудь сделал в активной рабочей книге, то можете начать код с объекта Worksheets. Если вам нужно, чтобы VBA что-нибудь сделал в активном рабочем листе, то вам даже не нужно указывать рабочий лист. Вы можете начать код со слова Range. Если обращение к одному и тому же объекту происходит много раз, то можно использовать команду With <повторяющаяся часть имени> End With. В файле справки Excel содержится визуальное представление иерархии объектов Excel (рисунок 6.1). Здесь объекты могут появиться больше одного раза. Щелкнув на красной стрелке, расположенной справа от Worksheet и Chart, вы сможете увидеть больше деталей. Дважды щелкнув на любом объекте, вы откроете раздел справки.
Получение доступа к Microsoft Excel Object Model 1. Нажать клавишу <F1> (находясь в среде VBA, выбрать вкладку Разделы) и щелкнуть на корешке вкладки Содержание. 2. Дважды щелкнуть на разделе Microsoft Excel Visual Basic Reference. 3. Дважды щелкнуть на разделе Microsoft Excel Object.
Свойства в VBA —определенные характеристики объекта. RowHeight, Formula и Font — все это свойства объекта Range. Они определяют высоту строки, наличие формул в ячейках, а также используемый шрифт. Все свойства могут быть считаны; только некоторые из них не могут быть изменены. Ряд свойств могут одновременно выступать в роли свойств объектов более высокого уровня иерархии и, в свою очередь, объектами более низкого уровня иерархии. Примером могут служить объекты (свойства) Active, указывающие на активный в данный момент объект Excel: · ActiveCell – ячейку; · ActiveChart – график; · ActiveWindow – рабочее окно; · ActiveSheet – рабочий лист; · ActiveWorkbook – рабочаяя книга; · ActivePrinter – имя принтера; · ActivePane – рамка; · ActiveMenuBar – пункт меню; · ActiveControl – фокус активного контроля.
Рисунок 6.1 – Модель объектов Excel
Свойства объекта Window Используйте объект Window для процедур, с помощью которых можно изменить внешний вид рабочего листа на экране. Нижеследующий код удаляет сетку, названия и ярлычки рабочих листов, а затем уменьшает размер окна до 75% от его прежнего размера. Еслинужно вернуть параметры вывода на экран в их прежнем состоянии измените параметры вывода на True (Истина) и установите значение Zoom (Масштаб) — 100%. Sub ChangeWindowDisplay() With ActiveWindow .DisplayGridIines = False .DisplayHeadings = FaIse .DisplayWorkbookTabs = FaIse .Zoom =75 End With End Sub
Свойства объекта Worksheet Приведем пример с объектом worksheet — отдельным рабочим листом. Его свойства применимы только к нему самому, а не ко всем листам. Объект worksheet может обладать больше, чем 30 свойствами, в том числе UsedRange, PageSetup, StandardHeight и StandardWidth. Изменить имя листа, указанное на ярлыке, можно, используя следующим образом свойство Name: ActiveSheet.Name = "ИзменениеИмениЛиста" Для того чтобы скрыть или отобразить листы, используйте свойство Visible объекта Worksheet. Установите свойство в False для того, чтобы скрыть лист, и — в True, чтобы снова отобразить его. Лист, скрытый таким образом, появится в диалоговом окне Вывод на экран скрытого листа.
Свойства объекта Range Объект Range используется для указания ячеек. Объект ActiveCell указывает на ячейку (или объект Range) который имеет фокус при вводе данных с клавиатуры. С помощью следующей процедуры можно установить высоту строки, равной 20, отцентрировать по горизонтали, изменить шрифт на полужирный размером 16 пунктов и окрасить его в синий цвет: Sub ChangeRangeProperties() Range(“A5”).Select ActiveCell.RowHeight = 20 ActiveCell.HorizontalAlignment = xlCenter ActiveCell.Font.Size = 16 ActiveCell.Font.BoId = True ActiveCelI.Font.Colorlndex = 5 End Sub Объект ActiveCell может быть эффективно применен для ввода исходных данных из конкретных ячеек рабочего листа Excel, а также для вывода результатов расчета в ячейки. Для этого используется свойство Value. Например в ячейку с адресом А5 необходимо записать значение переменной Rost: Range(“A5”).Select ActiveCell.Value = Rost Обратная процедура выполняется аналогично: Rost = ActiveCell.Value Если есть необходимость считывать большое число данных из различных ячеек, адреса которых можно вычислить целесообразно использование метода Offset(R,C), где R – смещение на R строк вниз относительно строки активной ячейки, C – смещение на С солбцов вправо относительно столбца активной ячейки. Например, следующая строка записывает значение переменной Rost в ячейку В7: Range(“A5”).Select ActiveCell.Offset(2, 1).Value = Rost Каждый объект VBA имеет свои методы, которые тем или иным образом изменяют объект. Свойства возвращают величину; методы нет. Метод — некоторое действие, выполняемое над предметом, но не характеризующее этот предмет. Методы VBA всегда изменяют свойства того объекта, к которому они приложены. Например, применив метод Add к набору Workbook, можно создать новую рабочую книгу и изменить свойство Count объекта Workbook. Применив метод Calculate к рабочему листу, можно изменить свойство Value многих ячеек. Применив метод Delete к текстовому полю, можно удалить объект, что, в свою очередь, изменит объект TextBoxes. Указывают методы так же, как и свойства – после точки. Например метод Select выделяет диапазон ячеек, указанных объектом Range: Range("A1:A5").Select Некоторые методы имеют аргументы, указывающие, как нужно выполнять то или иное действие. Например, метод Open имеет 12 аргументов, когда он применяется к рабочей книге. Первый, FileName, сообщает, какой необходимо открыть файл. Второй, UpdateLinks, указывает, надо или нет обновлять внешние связи. Третий, Readonly, сообщает о том, открывать или нет файл только для чтения. Полный набор аргументов выглядит следующим образом: Open (FileName:=, UpdateLinks:=, Read0nly:=, Format:=, Password:=,_ WriteResPassword:=, lgnoreReadOnlyRecommended:=, Origin:=, Delimiter:=, _ Editable:=, Notify:=, Converter:=) Можно установить значение одного или нескольких аргументов, набрав его имя, затем —:= и желаемое значение, но не заключая список аргументов в круглые скобки. Можно открыть рабочую книгу "MyFile" так: Workbooks.Open FileName:="MyFile" Чтобы правильно и быстро указать свойство или метод объекта после набора его имени и точки VBA предлагает набор существующих свойств и методов этого объекта. Кроме того набор свойств и методов можно просмотреть по команде меню Правка\Список свойств/методов, либо Список свойств/методов из контекстного меню. Просмотреть все объекты приложения, а также их методы и свойства можно через окно просмотра объектов (Object Browser). Необходимо задать требуемую библиотеку в списке, а затем выбрать требуемый объект для вывода свойств и методов. Object Browser можно вызвать через меню Правка\Просмотр объектов (View\Object Browser), либо клавишу <F2>, либо из контекстного меню.
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.006 сек.) |