Oc-windows.ru

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

Excel application свойства и методы

Объектная модель MS Excel, объект Application

13.1. Особенности программирования для MS Excel

Microsoft Office Excel — это популярные электронные таблицы. Обычно, программируя для этой программы, преследуют такие цели:

  • Автоматизация вычислений.
  • Автоматизация ввода и обработки информации.
  • Работа с базами данных — вывод, ввод, анализ, визуализация информации.
  • Анализ финансовой и другой информации.
  • Создание систем для организации автоматизированного ввода данных
  • Математическое моделирование .

В общем виде программирование в Excel похоже на работу с Microsoft Word . Однако одно из главных отличий заключается в том, что в Excel рабочая область листа разбита на ячейки, каждая из которых имеет собственное имя. Имена ячеек могут быть двух видов.

  • Первый вид (стиль A1) — это имя, состоящее из буквенного имени столбца и номера строки. Например, A1 — ячейка, находящаяся на пересечении столбца А (первого) и первой строки.
  • Другой вид — это индексы ячеек (стиль именования R1C1 ). Для адресации ячейки в таком стиле указывают номер строки (R — Row — строка) и номер столбца (C — Column — столбец), на пересечении которых расположена ячейка. Строки изначально пронумерованы, а номера столбцов начинаются с 1 — первому столбцу соответствует столбец A , второму — В и т.д. Например, (2, 3) — это адрес ячейки, находящийся на пересечении второй строки и третьего столбца, то есть, если переложить это на стиль A1 — получим ячейку С2 (рис. 13.1.)

Для выполнения большинства операций в MS Excel применяются следующие объекты.

  • Excel.Application (Приложение) — объект, представляющий приложение Microsoft Excel, аналогичен Word.Application .
  • Workbook ( Рабочая книга ) — представляет рабочую книгу — аналог документа Microsoft Word. Однако, в Word мы работаем с данными, расположенными в документе, а в Excel на пути к данным есть еще один объект — рабочий лист.
  • Worksheet (Рабочий лист) — книга в MS Excel разбита на рабочие листы. Именно на листе расположены ячейки, которые могут хранить информацию и формулы.
  • Range (Диапазон) — может быть представлен в виде одной ячейки или группы ячеек. Этот объект заменяет множество объектов для работы с элементами документов ( character , word и т.д.), которые применяются в Microsoft Word. В результате работа с листом становится очень четкой и удобной — чтобы работать с какой-либо ячейкой, надо знать лишь ее имя (в формате A1) или адрес ( R1C1 ).
  • QueryTable (Таблица запросов) — этот объект используют для импорта в Microsoft Excel информации из баз данных. Подключение к базе данных , запрос информации и т.д. производятся средствами объекта, а итоги запроса выгружаются на лист MS Excel в виде обычной таблицы.
  • PivotTable (Сводная таблица) — это особый вид электронной таблицы Excel — она позволяет в интерактивном режиме обобщать и анализировать большие объемы информации, в частности, взятой из базы данных.
  • Chart (Диаграмма) — представляет собой диаграмму. Обычно их используют для визуализации данных.

Давайте начнем рассмотрение объектной модели MS Excel с объекта Application .

13.2. Объект Application

Принципы работы с объектом Application в MS Excel очень похожи на таковые в MS Word .

Рассмотрим пример. Откроем MS Excel , добавим на рабочий лист кнопку, добавим в обработчик щелчка по кнопке такой код (листинг 13.1.).

После выполнения программы в окне сообщения отобразится имя приложения — в данном случае — Microsoft Excel . Очевидно, что свойство Name объекта Application возвращает имя приложения.

Теперь рассмотрим наиболее важные методы и свойства Application . Некоторые из них похожи на таковые в MS Word . Например, метод Quit точно так же, как в Word , закрывает приложение , свойство Visible отвечает за видимость окна программы и т.д.

13.3. Методы Application

13.3.1. Calculate — принудительный пересчет

Этот метод, вызываемый для объекта Application , позволяет пересчитать все открытия книги. Его же можно вызывать для отдельных книг (объект Workbook ) листов ( Worksheet ), ячеек и их диапазонов ( Range ). Например, код из листинга 13.2. позволяет пересчитать все открытые книги.

13.3.2. GoTo — переход в ячейку

Позволяет выделить любой диапазон ячеек в любой книге, причем, если книга не активна — она будет активирована. Так же метод может запускать макросы Microsoft Excel.

Полный вызов метода выглядит так:

В качестве параметра Reference используется ссылка на ячейку или диапазон ячеек , которые должны быть выделены после вызова метода. Так же здесь может быть использовано имя макроса — тогда он будет запущен.

Параметр Scroll отвечает за «перемотку» листа Excel к выделенным ячейкам — так, чтобы левый верхний угол выделения совпадал бы с левым верхним углом отображаемой области листа. Если Scroll установлен в True — лист перематывается, если в False — нет.

Например, такой вызов (листинг 13.3.) позволяет выделить ячейку H500 на активном листе.

Как видите, обращение к активному листу очень напоминает обращение к активному документу в MS Word. Обратите внимание на то, что мы используем полное обращение к методу — Application.GoTo — как вы знаете, обычно свойства и методы объекта Application можно использовать в коде, не указывая этого объекта. Однако, если в этом случае не указать Application , то вместо метода GoTo программа попытается выполнить оператор безусловного перехода GoTo .

13.3.3. SendKeys — имитация нажатий на клавиши клавиатуры

Очень интересный метод — позволяет передавать в активное окно приложения нажатия клавиш. Полный вызов метода выглядит так:

Параметр Keys позволяет задавать клавиши, нажатия которых будут переданы приложению. Метод поддерживает эмуляцию как алфавитно-цифровых, так и управляющих клавиш , для которых применяется специальная кодировка. Алфавитно-цифровые клавиши указываются при вызове в своем обычном виде Например, для передачи символа «Ф» нужно указать его при вызове метода и т.д.

Чтобы передать приложению нажатия клавиши Backspace — используйте код . Для передачи нажатия кнопки Enter используйте значок

( тильда ), для клавиши Del — код .

Для передачи приложению нажатий клавиш Shift , Ctrl или Alt , можно воспользоваться следующими кодами этих клавиш:

  • SHIFT — + (знак плюс)
  • CTRL — ^ (крышка)
  • ALT — % (знак процента)

Параметр Wait может принимать значения True или False . Если он будет установлен в True — макрос подождет, пока приложение обработает введенные с «клавитуры» данные, после чего продолжит выполнение. Если в False — макрос ждать не будет.

Рассмотрим пример. С помощью метода SendKeys введем в ячейку A1 текст «Сейчас закрою программу!», после чего попытаемся закрыть программу, «нажав» сначала Alt , потом Ф (для открытия главного меню Office), и потом — Ы — для выхода из программы. Подразумевается, что при запуске макроса (листинг 13.4.) указанная ячейка активна — в ней находится рамка выделения.

После выполнения этого кода вы увидите окно со стандартным вопросом о сохранении документа.

13.3.4. Wait — пауза при выполнении макроса

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

При вызове этого метода указывается время, на которое должно быть приостановлено выполнение макроса. После того, как истекает время, заданное при вызове метода, он возвращает True и выполнение программы продолжается. Например, в листинге 13.5. так можно остановить выполнение прораммы на 7 секуд, после чего — вывести сообщение.

Здесь мы получаем значение типа Date с помощью функции TimeValue . После того, как пройдут 7 секунд, выполнение макроса возобновится, метод возвратит True , будет выполнено условие и выведено сообщение.

Основные объекты VBA

Объект Application

Объект Application (приложение) является главным в иерархии объектов Excel и представляет само приложение Excel. Он имеет более 120 свойств и 40 методов. Эти свойства и методы предназначены для установки общих параметров приложения Excel. Кроме того, объект Application позволяет вызывать более 400 встроенных функций рабочего листа при помощи конструкции вида:

Вычисление числа п

Application. Pmt (Аргументы)

Определение постоянных периодических платежей при постоянной процентной ставке с помощью функции ППЛАТ (РМТ)

Application . Sum (Аргументы)

Нахождение суммы значений из ячеек диапазона

Приведем несколько наиболее часто используемых свойств, методов и событий объекта Application.

Читать еще:  Надстройка пакет анализа в excel

Свойства объекта Application

Выполняемые действия и допустимые значения

Возвращают активный объект: рабочую книгу, лист, ячейку, диаграмму, диалоговое окно. Свойство ActiveCell содержится В ActiveSheet, а свойства ActiveSheet, ActiveChart И ActiveDialog в ActiveWorkbook.

Выполняемые действия и допустимые значения

В следующем примере в активной ячейке устанавливается по-

лужирный шрифт и в нее вводится строка текста Отчет за май: With ActiveCell .Font. Bold = True .Value = «Отчет за май» End With

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

Устанавливает режим вычислений. Допустимые значения: xlCalculationAutomatic (автоматический режим) xlCalculationManual (вычисления выполняются вручную)

xlCalculationSemiAutomatic (автоматический режим, не распространяется на таблицы)

Возвращает текст в строке имени главного окна Excel. Установка свойства равным Empty возвращает заголовок, используемый по умолчанию. В следующем примере первая инструкция устанавливает в качестве заголовка окна приложения текст Отчет за 1999 год, а вторая возвращает имя окна, используемое по умолчанию, т. е. Microsoft Excel:

Application. Caption = «Отчет за 1999 год» Application. Caption = Empty

Допустимые значения: True (отображаются встроенные предупреждения о работе программы) и False (предупреждения не отображаются)

Допустимые значения: True (строка формул выводится в окне Excel) и False (строка формул не выводится).

В данном ниже примере установлен режим, при котором строка формул не будет выводиться в окне Excel:

Application. DisplayFormulaBar = False

Допустимые значения: True (полосы прокрутки видны в окне Excel) и False (полосы прокрутки не отображаются). Например: Application. DisplayScrollBars = False — строка формул не будет выводиться в окне Excel

Выполняемые действия и допустимые значения

Допустимые значения: True (строка состояния видна в окне Excel) и False (строка состояния не видна). Например:

Application. DisplayStatusBar = True — строка состояния не будет выводиться в окне Excel

Определяет действие при нажатии комбинации клавиш +
, используемой для прерывания выполнения процедуры. Допустимые значения:

xlDisabled (прерывания программы запрещено) xllnterrupt (прерывание процедуры разрешено) XlErrorHandler (прерывание воспринимается как ошибка)

Высота окна приложения в пунктах

Ширина окна приложения в пунктах

Расстояние в пунктах от левой границы окна приложения до левого края экрана

Расстояние в пунктах от правой границы окна приложения до правого края экрана

Расстояние в пунктах от верхней границы окна приложения до верхнего края экрана

Допустимые значения: True (изображение обновляется во время выполнения программы) и False (изображение не обновляется). Задание False в качестве значения свойства ускоряет выполнение процедуры. В конце процедуры свойству

ScreenUpdating необходимо присвоить значение True

Выводит заданный текст в строке состояния. Выполнение приведенного ниже примера позволит вывести текст Ввод данных. . . в строке состояния:

Application. DisplayStatusBar = True Application. StatusBar = «Ввод данных. »

Возвращает номер текущей версии Excel. Применяется для проверки того, что приложение используется в корректной версии. Например:

If Application. Version о «8.0» Then Exit Sub

Устанавливает размер окна. Допустимые значения: xlMaximized (максимальный) xlMinimized (минимальный) xlNormal (нормальный) Например: Application. WindowState = xlMaximized — устанавливается максимальный размер окна

Методы объекта Application

Вызывает принудительное вычисление во всех открытых рабочих книгах. Например:

Запускает на выполнение подпрограмму или макрос. Синтаксис:

Run (Macro, Argl, Arg2, . )

Application. Run Macro:= «Расчет»

— запускает макрос Расчет

Вызывает перевычисление функции пользователя при изменении значений параметров. Например, функция Квадрат будет автоматически пересчитывать результат на рабочем листе при изменении значения аргумента:

Function Квадрат (х) Application .

Volatile Квадрат = х^2 End Function

Временно приостанавливает работу приложения без остановки работы других программ.

В следующем примере показывается, как установить время, чтобы возобновление работы приложения началось в 17 часов:

Application. Wait «17:00:00»

Устанавливает выполнение специфицированной процедуры при нажатии заданной комбинации клавиш.

OnRepeat и OnUndo

Допустимо использование сочетания одновременно нажатых клавиш. С этой целью для перечисленных трех клавиш установлены следующие коды:

В примере процедуре Амортизация назначена комбинация клавиш + , а процедуре ПроцентнаяСтавка — + + .>:

Application. OnKey «^<+>«, «Амортизация»

Application. ОпКеу «+^ «, «ПроцентнаяСтавка»

Определяет процедуру, выполняемую при выборе команды Правка, Повторить (Edit, Repeat) и Правка, Отменить (Edit, Undo) соответственно.

OnRepeat (Text, Procedure)

OnUndo (Text, Procedure)

Procedure — имя подпрограммы, выполняемой при выборе команды Правка, Повторить (Edit, Repeat)

Назначает выполнение процедуры на определенное время. Синтаксис:

OnTime (EarliestTime, Procedure, LatestTime, Schedule)

В следующем примере демонстрируется, как запустить процедуру Очистка на выполнение через 15 секунд от текущего времени:

Application. OnTime Now +_ TimeValue («00:00:15»), «Очистка» Закрывает приложение.

События объекта Application

СобытиеКогда возникает событие
NewWorkbookПри создании новой рабочей книги
WorkbookActivateПри активизации рабочей книги
WorkbookBeforeCloseПеред закрытием рабочей книги
WorkbookBeforePrintПеред печатью рабочей книги
WorkbookBeforeSaveПеред сохранением рабочей книги
WorkbookNewSheetПри добавлении нового листа в рабочую книгу
WorkbookOpenПри открытии рабочей книги
WorkbookDeactivateКогда активная книга теряет фокус

1. Электромагнитная волна (в религиозной терминологии релятивизма — «свет») имеет строго постоянную скорость 300 тыс.км/с, абсурдно не отсчитываемую ни от чего. Реально ЭМ-волны имеют разную скорость в веществе (например,

200 тыс км/с в стекле и

3 млн. км/с в поверхностных слоях металлов, разную скорость в эфире (см. статью «Температура эфира и красные смещения»), разную скорость для разных частот (см. статью «О скорости ЭМ-волн»)

2. В релятивизме «свет» есть мифическое явление само по себе, а не физическая волна, являющаяся волнением определенной физической среды. Релятивистский «свет» — это волнение ничего в ничем. У него нет среды-носителя колебаний.

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

4. В гравитационном релятивизме (ОТО) вопреки наблюдаемым фактам утверждается об угловом отклонении ЭМ-волн в пустом пространстве под действием гравитации. Однако астрономам известно, что свет от затменных двойных звезд не подвержен такому отклонению, а те «подтверждающие теорию Эйнштейна факты», которые якобы наблюдались А. Эддингтоном в 1919 году в отношении Солнца, являются фальсификацией. Подробнее читайте в FAQ по эфирной физике.

НОВОСТИ ФОРУМА
Рыцари теории эфира
01.10.2019 — 05:20: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ — Upbringing, Inlightening, Education ->
[center][Youtube]69vJGqDENq4[/Youtube][/center]
[center]14:36[/center]
Osievskii Global News
29 сент. Отправлено 05:20, 01.10.2019 г.’ target=_top>Просвещение от Вячеслава Осиевского — Карим_Хайдаров.
30.09.2019 — 12:51: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ — Upbringing, Inlightening, Education ->
[center][Ok]376309070[/Ok][/center]
[center]11:03[/center] Отправлено 12:51, 30.09.2019 г.’ target=_top>Просвещение от Дэйвида Дюка — Карим_Хайдаров.
30.09.2019 — 11:53: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ — Upbringing, Inlightening, Education ->
[center][Youtube]VVQv1EzDTtY[/Youtube][/center]
[center]10:43[/center]

интервью Раввина Борода https://cursorinfo.co.il/all-news/rav.
мой телеграмм https://t.me/peshekhonovandrei
мой твиттер https://twitter.com/Andrey54708595
мой инстаграм https://www.instagram.com/andreipeshekhonow/

[b]Мой комментарий:
Андрей спрашивает: Краснодарская синагога — это что, военный объект?
— Да, военный, потому что имеет разрешение от Росатома на манипуляции с радиоактивными веществами, а также иными веществами, опасными в отношении массового поражения. Именно это было выявлено группой краснодарцев во главе с Мариной Мелиховой.

[center][Youtube]CLegyQkMkyw[/Youtube][/center]
[center]10:22 [/center]

Доминико Риккарди: Россию ждёт страшное будущее (хотелки ЦРУ):
https://tainy.net/22686-predskazaniya-dominika-rikardi-o-budushhem-rossii-sdelannye-v-2000-godu.html

Завещание Алена Даллеса / Разработка ЦРУ (запрещено к ознакомлению Роскомнадзором = Жид-над-рус-надзором)
http://av-inf.blogspot.com/2013/12/dalles.html

[center][b]Сон разума народа России [/center]

[center][Youtube]CLegyQkMkyw[/Youtube][/center]
[center]10:22 [/center]

Доминико Риккарди: Россию ждёт страшное будущее (хотелки ЦРУ):
https://tainy.net/22686-predskazaniya-dominika-rikardi-o-budushhem-rossii-sdelannye-v-2000-godu.html

Завещание Алена Даллеса / Разработка ЦРУ (запрещено к ознакомлению Роскомнадзором = Жид-над-рус-надзором)
http://av-inf.blogspot.com/2013/12/dalles.html

[center][b]Сон разума народа России [/center]

Основные свойства и методы объектов Microsoft Excel

Как уже говорилось, каждый из рассмотренных объектов Microsoft Excel обладает некоторыми свойствами – характеристиками и методами, определяющими их поведение. Сейчас мы подробно рассмотрим основные, наиболее встречающиеся, свойства и методы этих объектов.

Как правило, свойства объекта, то есть его характеристики, являются некоторыми числовыми или строковыми значениями. Когда свойств много, то запомнить их числовые характеристики бывает сложно. Поэтому разработчики Microsoft Excel упростили работу со свойствами, приписав их численным значениям соответствующие осознанные имена. Правда, стоит иметь в виду, что эти имена осознаны для англо-говорящих пользователей, поскольку задаются словами английского языка. Ну что-ж, простим эту маленькую слабость разработчикам Microsoft Excel.

Объект Application

Объект Application является собственно той программой Microsoft Excel, которая выполняется в данный момент на компьютере. Поэтому свойства и методы этого объекта позволяют изменять характеристики и управлять самой программой Excel.

Ниже перечислены основные свойства объекта Application.

СвойствоВыполняемые действия и допустимые значения
ActiveWorkBookВозвращает имя активной в настоящий момент рабочей книги
ActiveSheetВозвращает имя активного в настоящий момент рабочего листа
ActiveCellВозвращает имя активной в настоящий момент ячейки
CaptionУстанавливает заголовок окна Microsoft Excel. Стандартный заголовок имеет, например, вид «Microsoft Excel – Книга1». Если в программе на VBA написать: Application.Caption=“Расчет резонанса” то заголовок изменится и примет вид «Расчет резонанса – Книга1».
WindowStateУправляет размером окна Microsoft Excel. Возможные значения задаются такими именами: — xlMaximized – установка этого свойства максимизирует окно Excel, то есть устанавливает его размер во весь экран. — xlMinimized – установка этого свойства минимизирует (сворачивает) окно Excel. — xlNormal – возвращает окно в первоначальное положение

Объект Application имеет несколько методов, выполнение которых вызывает принудительный пересчет всех формул, вызов подпрограмм, приостановку работы Excel и так далее. Мы упомянем только несколько из них.

Метод Quit позволяет закрыть приложение Excel. Если в программе написать

то выполняющаяся в данный момент программа Microsoft Excel будет закрыта.

Среди методов объекта Application существуют методы, которые вызываются системой автоматически при наступлении определенных событий. Событием считается какое-либо действие, выполняемое пользователем программы. Эти методы называются обработчиками событий. Основное их отличие от обычных методов – то, что они вызываются не программистом, а самим приложением Excel. Программист в теле соответствующего метода – обработчика может предусмотреть реакцию системы на выполнение соответствующего события. Например, можно запретить создание новых листов в рабочей книге, ее печать и так далее.

Рассмотрим обработчики событий для объекта Application.

ОбработчикКогда вызывается
NewWorkBookПри создании пользователем новой рабочей книги
WorkBookActivateПри активизации рабочей книги
WorkBookBeforeCloseПеред закрытием рабочей книги
WorkBookBeforePrintПеред печатью рабочей книги
WorkBookBeforeSaveПеред сохранением рабочей книги
WorkBookBeforeDeactivateПеред тем, как рабочая книга станет неактивной
WorkBookNewSheetПри добавлении нового листа в рабочую книгу
WorkBookOpenПри открытии рабочей книги

Объект WorkBook

Объект WorkBook является одним из множества рабочих книг, открытых в данный момент в Microsoft Excel. Напомним, что доступ к каждому конкретному объекту, то есть, к каждой конкретной рабочей книге можно получить через ее имя, например:

определяет конкретную рабочую книгу (конкретный объект WorkBook), открытую из файла “ Расчет резонанса.xls”.

Рассмотрим основные свойства объекта WorkBook.

СвойстваВыполняемые действия и допустимые значения
ActiveSheetСвойство возвращает ссылку на объект Sheet, соответствующий выбранному (активному) в настоящий момент листу рабочей книги
SheetsВозвращает семейство (объект Sheets) всех листов рабочей книги
CountВозвращает количество открытых рабочих книг
SavedВозвращает значение True (истина), если в рабочей книге не производились изменения со времени последнего сохранения и значение False (ложь) в противном случае

Методы объекта WorkBook.

МетодыВыполняемые действия
ActivateАктивизирует рабочую книгу. При активации книги автоматически становится активным ее первый лист
AddСоздает новый лист рабочей книги и, соответственно, новый объект WorkBook
CloseВызывает закрытие рабочей книги
OpenОткрывает существующую рабочую книгу
SaveВызывает сохранение рабочей книги
PrintOutВызывает печать содержимого рабочей книги

Обработчики событий для объекта WorkBook.

ОбработчикКогда вызывается
BeforeCloseПри закрытии рабочей книги
BeforePrintПеред печатью рабочей книги
BeforeSaveПеред сохранением рабочей книги
DeactivateКогда рабочая книга становится неактивной
NewSheetПри добавлении нового листа в рабочую книгу
OpenПри открытии рабочей книги
SheetActivateПри активизации листа рабочей книги
SheetDeactivateКогда рабочий лист становится неактивным

Объект WorkSheet

Объект WorkSheet является одним из множества листов рабочей книги. Напомним, что доступ к каждому конкретному объекту, то есть, к каждому конкретному листу рабочей книги можно получить через ее имя, например:

Рассмотрим основные свойства объекта WorkSheet.

СвойстваВыполняемые действия и допустимые значения
NameСвойство возвращает или устанавливает имя для листа рабочей книги
VisibleВизуализирует (показывает) или скрывает рабочий лист. Чтобы сделать лист видимым необходимо этому свойству присвоить значение True (истина), а чтобы спрятать – присвоить значение False (ложь).
ActiveCellВозвращает объект, соответствующий активной ячейки рабочего листа. Оперируя с этим объектом можно управлять соответствующей ячейкой.

Методы объекта WorkSheet.

МетодыВыполняемые действия
ActivateАктивизирует указанный рабочий лист
AddСоздает новый рабочий лист
DeleteУдаляет текущий рабочий лист

Обработчики событий для объекта WorkSheet.

ОбработчикКогда вызывается
ActivateПри активизации рабочего листа
DeactivateВ случае, когда рабочий лист деактивируется
ChangeПри любых изменениях в рабочем листе
SelectionChangeПри выборе ячеек рабочего листа и при изменениях

Объект Cell

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

Рассмотрим основные свойства объекта Cell.

СвойстваВыполняемые действия и допустимые значения
ValueОбеспечивает доступ к содержимому ячейки
NameСвойство возвращает или устанавливает имя для ячейки
FontПредставляет собой объект типа Font и позволяет управлять шрифтом и цветом текста в ячейке. Объект Font выходит за рамки рассмотрения настоящего пособия. Подробно ознакомиться с ним можно в литературе [3].
FormulaВозвращает или устанавливает формулу, связанную с ячейкой в виде текстовой строки
TextОбеспечивает доступ к содержимому ячейки. Свойство похоже на свойство Value, с той только разницей, что содержимое возвращается в текстовом формате

Методы объекта Cell.

МетодыВыполняемые действия
ClearОчищает содержимое ячейки
SelectВыделяет ячейку. Действие аналогично щелчку мыши на ячейке

Краткие сведения о языке VBA

Язык VBA (Visual Basic for Applications) представляет собой подмножество широко распространенного в настоящее время языка Visual Basic. Язык специально ориентирован на работу в среде Microsoft Office и, в частности, в среде Microsoft Excel.

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

Дата добавления: 2018-02-18 ; просмотров: 635 ;

Объекты Excel

Термин Объекты Excel (понимаемый в широком смысле, как объектная модель Excel) включает в себя элементы, из которых состоит любая рабочая книга Excel. Это, например, рабочие листы (Worksheets), строки (Rows), столбцы (Columns), диапазоны ячеек (Ranges) и сама рабочая книга Excel (Workbook) в том числе. Каждый объект Excel имеет набор свойств, которые являются его неотъемлемой частью.

Например, объект Worksheet (рабочий лист) имеет свойства Name (имя), Protection (защита), Visible (видимость), Scroll Area (область прокрутки) и так далее. Таким образом, если в процессе выполнения макроса требуется скрыть рабочий лист, то достаточно изменить свойство Visible этого листа.

В Excel VBA существует особый тип объектов – коллекция. Как можно догадаться из названия, коллекция ссылается на группу (или коллекцию) объектов Excel. Например, коллекция Rows – это объект, содержащий все строки рабочего листа.

Доступ ко всем основным объектам Excel может быть осуществлён (прямо или косвенно) через объект Workbooks, который является коллекцией всех открытых в данный момент рабочих книг. Каждая рабочая книга содержит объект Sheets – коллекция, которая включает в себя все рабочие листы и листы с диаграммами рабочей книги. Каждый объект Worksheet состоит из коллекции Rows – в неё входят все строки рабочего листа, и коллекции Columns – все столбцы рабочего листа, и так далее.

В следующей таблице перечислены некоторые наиболее часто используемые объекты Excel. Полный перечень объектов Excel VBA можно найти на сайте Microsoft Office Developer (на английском).

ОбъектОписание
ApplicationПриложение Excel.
WorkbooksКоллекция всех открытых в данный момент рабочих книг в текущем приложении Excel. Доступ к какой-то конкретной рабочей книге может быть осуществлён через объект Workbooks при помощи числового индекса рабочей книги или её имени, например, Workbooks(1) или Workbooks(“Книга1”).
WorkbookОбъект Workbook – это рабочая книга. Доступ к ней может быть выполнен через коллекцию Workbooks при помощи числового индекса или имени рабочей книги (см. выше). Для доступа к активной в данный момент рабочей книге можно использовать ActiveWorkbook.

Из объекта Workbook можно получить доступ к объекту Sheets, который является коллекцией всех листов рабочей книги (рабочие листы и диаграммы), а также к объекту Worksheets, который представляет из себя коллекцию всех рабочих листов книги Excel.

SheetsОбъект Sheets– это коллекция всех листов рабочей книги. Это могут быть как рабочие листы, так и диаграммы на отдельном листе. Доступ к отдельному листу из коллекции Sheets можно получить при помощи числового индекса листа или его имени, например, Sheets(1) или Sheets(“Лист1”).
WorksheetsОбъект Worksheets – это коллекция всех рабочих листов в рабочей книге (то есть, все листы, кроме диаграмм на отдельном листе). Доступ к отдельному рабочему листу из коллекции Worksheets можно получить при помощи числового индекса рабочего листа или его имени, например, Worksheets(1) или Worksheets(“Лист1”).
WorksheetОбъект Worksheet – это отдельный рабочий лист книги Excel. Доступ к нему можно получить при помощи числового индекса рабочего листа или его имени (см. выше).

Кроме этого Вы можете использовать ActiveSheet для доступа к активному в данный момент рабочему листу. Из объекта Worksheet можно получить доступ к объектам Rows и Columns, которые являются коллекцией объектов Range, ссылающихся на строки и столбцы рабочего листа. А также можно получить доступ к отдельной ячейке или к любому диапазону смежных ячеек на рабочем листе.

RowsОбъект Rows – это коллекция всех строк рабочего листа. Объект Range, состоящий из отдельной строки рабочего листа, может быть доступен по номеру этой строки, например, Rows(1).
ColumnsОбъект Columns – это коллекция всех столбцов рабочего листа. Объект Range, состоящий из отдельного столбца рабочего листа, может быть доступен по номеру этого столбца, например, Columns(1).
RangeОбъект Range – это любое количество смежных ячеек на рабочем листе. Это может быть одна ячейка или все ячейки листа.

Доступ к диапазону, состоящему из единственной ячейки, может быть осуществлён через объект Worksheet при помощи свойства Cells, например, Worksheet.Cells(1,1).

По-другому ссылку на диапазон можно записать, указав адреса начальной и конечной ячеек. Их можно записать через двоеточие или через запятую. Например, Worksheet.Range(“A1:B10”) или Worksheet.Range(“A1”, “B10”) или Worksheet.Range(Cells(1,1), Cells(10,2)).

Обратите внимание, если в адресе Range вторая ячейка не указана (например, Worksheet.Range(“A1”) или Worksheet.Range(Cells(1,1)), то будет выбран диапазон, состоящий из единственной ячейки.

Приведённая выше таблица показывает, как выполняется доступ к объектам Excel через родительские объекты. Например, ссылку на диапазон ячеек можно записать вот так:

Присваивание объекта переменной

В Excel VBA объект может быть присвоен переменной при помощи ключевого слова Set:

Активный объект

В любой момент времени в Excel есть активный объект Workbook – это рабочая книга, открытая в этот момент. Точно так же существует активный объект Worksheet, активный объект Range и так далее.

Сослаться на активный объект Workbook или Sheet в коде VBA можно как на ActiveWorkbook или ActiveSheet, а на активный объект Range – как на Selection.

Если в коде VBA записана ссылка на рабочий лист, без указания к какой именно рабочей книге он относится, то Excel по умолчанию обращается к активной рабочей книге. Точно так же, если сослаться на диапазон, не указывая определённую рабочую книгу или лист, то Excel по умолчанию обратится к активному рабочему листу в активной рабочей книге.

Таким образом, чтобы сослаться на диапазон A1:B10 на активном рабочем листе активной книги, можно записать просто:

Смена активного объекта

Если в процессе выполнения программы требуется сделать активной другую рабочую книгу, другой рабочий лист, диапазон и так далее, то для этого нужно использовать методы Activate или Select вот таким образом:

Методы объектов, в том числе использованные только что методы Activate или Select, далее будут рассмотрены более подробно.

Свойства объектов

Каждый объект VBA имеет заданные для него свойства. Например, объект Workbook имеет свойства Name (имя), RevisionNumber (количество сохранений), Sheets (листы) и множество других. Чтобы получить доступ к свойствам объекта, нужно записать имя объекта, затем точку и далее имя свойства. Например, имя активной рабочей книги может быть доступно вот так: ActiveWorkbook.Name. Таким образом, чтобы присвоить переменной wbName имя активной рабочей книги, можно использовать вот такой код:

Ранее мы показали, как объект Workbook может быть использован для доступа к объекту Worksheet при помощи такой команды:

Это возможно потому, что коллекция Worksheets является свойством объекта Workbook.

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

Методы объектов

Объекты VBA имеют методы для выполнения определённых действий. Методы объекта – это процедуры, привязанные к объектам определённого типа. Например, объект Workbook имеет методы Activate, Close, Save и ещё множество других.

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

Как и другие процедуры, методы могут иметь аргументы, которые передаются методу при его вызове. Например, метод Close объекта Workbook имеет три необязательных аргумента, которые определяют, должна ли быть сохранена рабочая книга перед закрытием и тому подобное.

Чтобы передать методу аргументы, необходимо записать после вызова метода значения этих аргументов через запятую. Например, если нужно сохранить активную рабочую книгу как файл .csv с именем “Книга2”, то нужно вызвать метод SaveAs объекта Workbook и передать аргументу Filename значение Книга2, а аргументу FileFormat – значение xlCSV:

Чтобы сделать код более читаемым, при вызове метода можно использовать именованные аргументы. В этом случае сначала записывают имя аргумента, затем оператор присваивания “:=” и после него указывают значение. Таким образом, приведённый выше пример вызова метода SaveAs объекта Workbook можно записать по-другому:

В окне Object Browser редактора Visual Basic показан список всех доступных объектов, их свойств и методов. Чтобы открыть этот список, запустите редактор Visual Basic и нажмите F2.

Рассмотрим несколько примеров

Пример 1

Этот отрывок кода VBA может служить иллюстрацией использования цикла For Each. В данном случае мы обратимся к нему, чтобы продемонстрировать ссылки на объект Worksheets (который по умолчанию берётся из активной рабочей книги) и ссылки на каждый объект Worksheet отдельно. Обратите внимание, что для вывода на экран имени каждого рабочего листа использовано свойство Name объекта Worksheet.

Пример 2

В этом примере кода VBA показано, как можно получать доступ к рабочим листам и диапазонам ячеек из других рабочих книг. Кроме этого, Вы убедитесь, что если не указана ссылка на какой-то определённый объект, то по умолчанию используются активные объекты Excel. Данный пример демонстрирует использование ключевого слова Set для присваивания объекта переменной.

В коде, приведённом ниже, для объекта Range вызывается метод PasteSpecial. Этот метод передаёт аргументу Paste значение xlPasteValues.

Пример 3

Следующий отрывок кода VBA показывает пример объекта (коллекции) Columns и демонстрирует, как доступ к нему осуществляется из объекта Worksheet. Кроме этого, Вы увидите, что, ссылаясь на ячейку или диапазон ячеек на активном рабочем листе, можно не указывать этот лист в ссылке. Вновь встречаем ключевое слово Set, при помощи которого объект Range присваивается переменной Col.

Данный код VBA показывает также пример доступа к свойству Value объекта Range и изменение его значения.

Ссылка на основную публикацию
Adblock
detector