Свойства объекта application vba excel

Обращение к объекту

Контейнеры

Объекты приложения могут включать в себя объекты разных типов. Например, рабочая книга может содержать один или несколько рабочих листов и листов диаграмм. Рабочий лист, в свою очередь, содержит строки, колонки и интервалы ячеек. Когда объект одного типа находится внутри объекта другого типа, говорят о контейнере ( container ), в котором содержится объект.

Самый старший контейнер объектов MS Excel — это приложение Application. Приложение — это контейнер для всех открытых рабочих книг, и в то же время приложение содержит такой глобальный объект, как строка меню, который доступен любой рабочей книге. Рабочий лист представляет пример того, что объект может быть частью нескольких контейнеров или коллекций одновременно: он входит в рабочую книгу, с одной стороны, а с другой стороны — является частью коллекции Sheets и коллекции Worksheets.

Преимущества

  • Рассмотрение объекта в качестве контейнера позволяет уточнить, сославшись на контейнер, с каким именно объектом производится действие в процедуре.

Если в рабочей книге имеются два рабочих листа Sheet1 и Sheet2, то запись Worksheets(«Sheet1»).Range(«A1») указывает на ячейку A1 рабочего листа Sheet1, а запись Worksheets(«Sheet2»).Range(«A1») указывает на ячейку A1 рабочего листа Sheet2.

Ссылка на объект

Объект в VBA указывается при помощи ссылки. Запись Workbookscross«).Worksheets(«Sheet2») указывает на объект, являющийся листом с именем Sheet2 в рабочей книге cross, отличая его, таким образом, от листа с тем же именем, но в другой рабочей книге.

Важно

  • Ссылка на объект состоит из имени контейнера и названия свойства-участника.
  • Ссылка на объект может состоять из нескольких спецификаторов (имен контейнеров), отделенных друг от друга точкой. Такая запись отражает иерархию объектов и позволяет точно указать конкретный объект.
  • Свойства и методы объекта указываются через точку после ссылки на объект.

Для объектов, относящихся к классу globals (например, активная рабочая книга, активная ячейка рабочего листа, константа), спецификатор Application можно опустить.

Оператор With

В VBA перед обращением к каждому из методов или свойств объекта требуется наличие ссылки на объект. Конструкция With…End With позволяет применить последовательность операторов к объекту, указав его имя только один раз в операторе With. Благодаря этому программа становится менее громоздкой, освобождаясь от повторений ссылки на объект.

Синтаксис оператора

With Object
[statements]
End With
  • Objectимя объекта;
  • statementsпоследовательность операторов.

Первая строка этой структуры идентифицирует объект, с которым будут производиться действия. В последующих операторах используются свойства и методы идентифицированного объекта. Оператор End With является закрывающей скобкой для оператора With. Часто подобная структура записывается при помощи макрорекордера.

Внимание

  • Каждый оператор внутри блока statements начинается с точки.

Использование объектных переменных

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

Например, установить полужирный шрифт для первой строки активного листа можно оператором ActiveSheet.Rows(1).Font.Bold = True или, используя объектную переменную, можно предложить два способа записи:

Здесь оператор Set создает объект, тип которого установлен при описании объектной переменной. Далее можно обратиться к свойствам или методам созданного объекта. В первом случае это объект типа Range, во втором случае — тип объекта Font.

Преимущества

  • Использование объектных переменных улучшает читабельность программы.
  • Использование объектных переменных уменьшает время выполнения программы, т.к. при каждом выполнении оператора для обращения к объекту не придется проходить полную цепочку иерархии объектов.

Объект Application

При открытии MS Excel автоматически становится доступным объект Application с его свойствами и методами. Объект Application — корневой объект приложения. В него вложены остальные объекты приложения. Доступ к ним осуществляется посредством свойств-участников объекта Application.

Для создания ссылки на объект Application используется свойство Application.

Примеры операторов

Application.Windows(«AIR.XLS «).Activate Оператор активизирует рабочую книгу
Application.Goto Range(«B3:C5») Оператор выделяет интервал ячеек на активном рабочем листе

Многие свойства объекта Application используются без ссылки на объект Application, так как они возвращают объекты, относящиеся к классу globals.

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

Свойства, название которых начинается со слова Active, возвращают активный объект соответствующего типа. Для этих свойств необязательно указывать ссылку на объект Application, так как они входят в класс globals. Некоторые из этих свойств являются одновременно свойствами нескольких объектов.

Свойства, возвращающие активный или выделенный объект

Свойство Объект Действие Возвращаемый объект
ActiveCell Application, Window Возвращает активную ячейку Range
ActiveSheet Application, Window, Workbook Возвращает активный лист. Это может быть рабочий лист, лист диаграмм Sheet
ActiveWorkbook Application Возвращает активную рабочую книгу Workbook
ActiveWindow Application Возвращает активное окно Window
Selection Application, Window Возвращает выделенный объект Различные типы объектов

Так как перечисленные в таблице свойства возвращают объекты, при записи операторов для активных объектов используются методы или свойства объектов соответствующих типов.

Примеры

Оператор Комментарий
ActiveCell.Font.Bold=True Устанавливает полужирный шрифт текста активной ячейки
ActiveSheet.Name=»Проба» Изменяет название активного листа рабочей книги
MsgBox ActiveWorkbook.Fullname Высвечивает полное имя рабочей книги, включая путь и имя файла
Selection.NumberFormat=»0.00″ Устанавливает числовой формат с двумя знаками после запятой для ячеек выделенного интервала
ActiveCell.Value=10

Application.ActiveCell.Value=10

ActiveWindow.ActiveCell.Value=10

Application.ActiveWindow.ActiveCell.Value=10

Присваивают активной ячейке значение 10. Приведенные примеры доступа к активной ячейке равносильны
Worksheets(«Sheet1»).Activate

Selection.Clear

Очищает предварительно выделенный на листе Sheet1 объект, например, интервал ячеек
Если никакой объект не выделен, то свойство Selection возвращает значение Nothing и очистка не выполняется
Worksheets(«Sheet1»).Activate

MsgBox «Тип объекта » & TypeName(Selection)

Высвечивает тип предварительно выделенного на листе Sheet1 объекта

Основные объекты VBA. Свойства объекта Application

    На этом шаге мы перечислим основные свойства этого объекта.

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

Таблица 1. Свойства объекта Application

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

    В следующем примере в активной ячейке устанавливается полужирный шрифт и в нее вводится строка текста Отчет за май:

With ActiveCell 
  .Font. Bold = True 
  .Value = "Отчет за май" 
End With
ThisWorkbook Возвращает рабочую книгу, содержащую выполняющийся в данный момент макрос. Это свойство может возвращать рабочую книгу, отличную от возвращаемой свойством ActiveWorkbook, т. к. выполняемый макрос может находиться в неактивной книге
Calculation Устанавливает режим вычислений. Допустимые значения:

  • xlCalculationAutomatic (автоматический режим);
  • xlCalculationManual (вычисления выполняются вручную);
  • xlCalculationSemiAutomatic (автоматический режим, не распространяется на таблицы).
Caption Возвращает текст в строке имени главного окна Excel. Установка свойства равным Empty возвращает заголовок, используемый по умолчанию. В следующем примере первая инструкция устанавливает в качестве заголовка окна приложения текст Отчет за 2013 год, а вторая возвращает имя окна, используемое по умолчанию, т.е. Microsoft Excel:

Application.Caption = "Отчет за 2013 год" 
Application.Caption = Empty
DisplayAlerts Допустимые значения: True (отображаются встроенные предупреждения о работе программы) и False (предупреждения не отображаются)
DisplayFormulaBar Допустимые значения: True (строка формул выводится в окне Excel) и False (строка формул не выводится). В данном ниже примере установлен режим, при котором строка формул не будет выводиться в окне Excel:

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

Application.DisplayStatusBar = True

— строка состояния не будет выводиться в окне Excel

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

  • xlDisabled (прерывание программы запрещено);
  • xlInterrupt (прерывание процедуры разрешено);
  • XlErrorHandler (прерывание воспринимается как ошибка).
Height Высота окна приложения в пикселях
Width Ширина окна приложения в пикселях
Left Расстояние в пикселях от левой границы окна приложения до левого края экрана
Right Расстояние в пикселях от правой границы окна приложения до правого края экрана
Top Расстояние в пикселях от верхней границы окна приложения до верхнего края экрана
ScreenUpdating Допустимые значения: True (изображение обновляется во время выполнения программы) и False (изображение не обновляется). Задание False в качестве значения свойства ускоряет выполнение процедуры. В конце процедуры свойству ScreenUpdating необходимо присвоить значение True
StatusBar Выводит заданный текст в строке состояния. Выполнение приведенного ниже примера позволит вывести текст Ввод данных… в строке состояния:

Application.DisplayStatusBar = True 
Application.StatusBar = "Ввод данных..."
Version Возвращает номер текущей версии Excel. Применяется для проверки того, что приложение используется в корректной версии. Например:

If Application.Version <> "8.0" Then Exit Sub
WindowState Устанавливает размер окна. Допустимые значения:

  • xlMaximized (максимальный);
  • xlMinimized (минимальный);
  • xlNormal (нормальный).

Например:

Application.WindowState = xlMaximized

— устанавливается максимальный размер окна

    На следующем шаге мы рассмотрим методы объекта Application.

The «Application» is the root of any application where the program code is executing.

It has different meanings with different applications.

For example, with Excel VBA, The «Application» object refers to the entire Excel application.

This means, «Application » object is not bound only to the excel containg macro code.

Similarly, In MS Word, The same «Application» object refers to the entire MS Word.

The same is the case with MS Access VBA too.

There are numerous uses of this object and it offers a large number of functionalities some of which are discussed below:

1.Application.ScreenUpdating

The ScreenUpdating property of Application object is used to set the visual updation of the excel workbook to either TRUE or FALSE.

This property is useful while modifying a workbook with values and then saving it.

In this case, the excel screen will flicker while the program is executing and is not visually pleasing.

So, to avoid this, the ScreenUpdating property has to be set to FALSE.

Application.ScreenUpdating=False

2.Application.DisplayAlerts

This is also a useful member of the Application object.

With this, one can control the display of unwanted alert dialogs, which will hinder the speed of the program.

For example, while deleting a sheet, the excel usually displays a dialog box giving a warning and will proceed further only after an user action of a button click.

So, to avoid this during automation, the «DisplayAlerts» property is used, which if set TRUE, will not show the dialogbox and will automatically accepts the OK button click.

The same is the fact with Saving an excel.

Application.DisplayAlerts=False

If you see at the very first lines of this VBA Editor, you can see these two statements.

A screenshot of this is shown as below:

excel vba application object

You can find similar Excel Questions and Answer hereunder

1) What are the main cell objects in VBA

2) How to print a worksheet in Excel

3) How to do webscrapping in VBA. Here some basics

4) Vba length of an array in Excel

5) Highlight row of selected cell in Excel

6) Vlookup to return multiple values in same cell in Excel

7) How do you close, save, open files and do other operations in the workbook in VBA

8) Vba list all files in a folder in Excel

9) What is a methods. Methods are action that can be performed by an object

10) How to add email and emailing function in Excel VBA

Понравилась статья? Поделить с друзьями:
  • Свойства книги vba excel
  • Свойства изображения в word
  • Свойства документов в microsoft word
  • Свойства документов word 2010
  • Свойства документа word где находится