1. Главная страница » Компьютеры

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

Автор: | 16.12.2019

Представляет все приложение Microsoft Excel. Represents the entire Microsoft Excel application.

Пример Example

Чтобы вернуть объект Application, используйте свойство Application. Use the Application property to return the Application object. В приведенном ниже примере применяется свойство Windows к объекту Application. The following example applies the Windows property to the Application object.

В приведенном ниже примере показано, как создать объект книги Excel в другом приложении, а затем открыть книгу в Excel. The following example creates an Excel workbook object in another application and then opens a workbook in Excel.

Многие свойства и методы, возвращающие наиболее распространенные объекты пользовательского интерфейса, такие как активная ячейка (свойство ActiveCell), можно использовать без квалификатора объекта Application. Many of the properties and methods that return the most common user-interface objects, such as the active cell (ActiveCell property), can be used without the Application object qualifier. Например, вместо этого: For example, instead of writing:

Можно записать: You can write:

Примечания Remarks

Объект Application содержит: The Application object contains:

  • Параметры и настройки на уровне приложения. Application-wide settings and options.
  • Методы, возвращающие объекты верхнего уровня, такие как ActiveCell, ActiveSheet и т. д. Methods that return top-level objects, such as ActiveCell, ActiveSheet, and so on.

События Events

Методы Methods

Свойства Properties

См. также See also

Поддержка и обратная связь Support and feedback

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь. Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

Читайте также:  Ati radeon x800 gto

Объект Excel.Application, свойства, методы и события

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

Вначале — о свойствах объекта Application:

  • свойства Active… возвращают соответственно активную ячейку (ту, на которую указывает курсор ввода данных), активную диаграмму, активный лист, активную книгу, активное окно. Все эти свойства доступны только для чтения. Собственно говоря, использовать их для создания объектов совсем не обязательно — объекты ActiveCell, ActiveSheet и т.п. создаются автоматически во время работы приложения и доступны всегда. Немного отличается свойство ActivePrinter — оно позволяет не только вернуть, но и установить активный принтер.
  • свойство AddIns возвращает одноименную коллекцию надстроек (объектов AddIn). В отличие от Word, где в большинстве случаев применение надстроек предназначено для профессиональных программистов, в Excel работа с этим объектом имеет практическое значение для многих пользователей. Вместе с Excel поставляется несколько очень полезных надстроек (на графическом экране в Excel они доступны через меню Сервис ->Надстройки), например, Мастер подстановок, Пакет анализа, Поиск решения и т.п. При помощи этой коллекции можно проверять, подключена ли пользователем нужная надстройка (если она нужна вашей программе) и в случае необходимости автоматически ее подключить.
  • AutoRecover — возвращает одноименный объект, который позволяет определить параметры автосохранения Excel. Например, чтобы открытые документы Excel автосохранялись каждые 5 минут, можно использовать код

Время указывается в минутах, можно использовать значения в интервале от 1 до 120. На графическом экране тоже самое можно сделать при помощи меню Сервис -> Параметры -> вкладка Сохранение.

  • свойство Calculation позволяет определить или узнать режим пересчета рабочей книги (по умолчанию — автоматически, можно также использовать ручной пересчет или полуавтоматический, когда автоматически пересчитывается все, кроме таблиц). Есть смысл отключать автоматический пересчет тогда, когда пересчет значений после каждого изменения ячейки занимает много времени и мешает вводу данных. То же самое на графическом экране можно настроить при помощи меню Сервис ->Параметры -> вкладка Вычисления (явно дать команду на пересчет можно клавишей ).
  • свойство CalculationState позволяет проверять, занимается ли Excel пересчетом данных или пересчет уже завершен.
  • Cells — одно из самых важных свойств объекта Application. Оно возвращает объект Range, представляющий все ячейки в активном листе активной книги. Поскольку свойство по умолчанию для объекта Range — это свойство Item, то обращение к ячейкам активного листа может выглядеть так:

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

  • Очень похоже действуют свойства Columns и Rows. Например, чтобы проделать подобную операцию с целым столбцом (вторым), можно использовать команду вида

а для строки (второй) можно воспользоваться очень похожей командой

Еще раз отметим, что свойства Cells, Columns и Rows возвращают вовсе не наборы объектов Cell, Column и Row, как считают многие пользователи, а наборы объектов Range. На использовании объекта Range построена в Excel почти вся работа с ячейками и их значениями. Ниже в этой главе объекту Range будет посвящен отдельный раздел.

  • Cursor — это свойство позволяет поменять внешний вид указателя мыши в Excel (у объекта Application в Word этого свойства почему-то нет). Обычно перед выполнением длинной расчетной операции курсору придают вид песочных часов ( xlWait), а потом возвращают обратно. Автоматически по завершению работы макроса курсор не возвращается к нормальному виду — нужно предусмотреть соответствующий код.
  • DataEntryMode — очень интересное свойство, которое может уберечь пользователя от множества ошибок. Оно позволяет перейти в режим ввода данных — data entry mode, когда пользователю разрешается только вводить данные в разблокированные ячейки выбранного диапазона. Всего в вашем распоряжении три варианта: xlOn — включить этот режим, xlStrict — включить плюс сделать так, чтобы пользователь не мог из него выйти при помощи клавиши , xlOff — режим отключить.
  • свойства DecimalSeparator и ThousandsSeparator позволяют не полагаться на региональные настройки на компьютере пользователя, а явно назначить символы, которые будут отделять дробную часть от целой и тысячи друг от друга. При использовании этих свойств рекомендуется также отключить использование системных установок при помощи свойства UseSystemSeparators:
  • свойство Dialogs возвращает одноименную коллекцию Dialog, которую можно использовать для отображения диалоговых окон Excel (их предусмотрено несколько сотен) и определять реакцию на действия в них пользователей. Фактически поднабором для этого объекта является объект FileDialog, представляющий окна, предназначенные только для работы с файлами (например, окно открытия файла). Работа с ними выглядит точно так же, как в Word.
  • DisplayAlerts — свойство, про которое мы уже говорили в модуле про Word, но по причине его большой важности повторим еще раз. Это свойство позволяет отключить показ различных предупреждений, которые пользователю обычно в ходе работы приложения показывать не надо (например, подавить предупреждение при закрытии ненужного файла, в котором не были сохранены изменения).
  • EnableEvents — возможность на время отключить события для объекта Application, так что они срабатывать не будут (обычно перед выполнением какого-то действия — открытия файла, сохранения и т.п.).
  • ErrorCheckingOptions — возможность получить ссылку на одноименный объект, при помощи свойств которого можно настроить параметры автопроверки Excel (сообщать ли пользователю о синтаксически неверных формулах, ссылках на пустые ячейки и т.п.). По умолчанию большинство проверок включено, поэтому к этому объекту есть смысл обращаться только тогда, когда вы хотите их отменить.
  • FileDialog — возможность обратиться к диалоговым окнам открытия и сохранения файлов (то же самое можно сделать при помощи более общего свойства Dialogs). Например, чтобы предоставить пользователю выбрать единственный файл в окне открытия (и получить полный путь к нему), можно воспользоваться кодом

Похожий пример с возможностью выбрать сразу несколько файлов приведен в справке по этому свойству.

  • FileSearch — это свойство позволяет провести поиск по указанному вами каталогу и вывести результаты.
  • Interactive — это свойство позволяет полностью заблокировать ввод в приложение Excel со стороны пользователя (как клавиатуру, так и мышь). Обычно используется, чтобы пользователь не смог помешать работе приложения, например, сбить выделение. Можно также использовать, если ввод пользователя производится из другого приложения, взаимодействующего с Excel.
  • свойства International и LanguageSettings работают точно так же, как и в Word.
  • свойство LibraryPath возвращает путь к каталогу, где лежат файлы надстроек Excel — XLA. По умолчанию — Office11Library.
  • свойство MoveAfterReturn позволяет включить/отключить переход на следующую ячейку после завершения ввода данных и нажатия на (по умолчанию — включено), а свойство MoveAfterReturnDirection позволяет определить направление перехода. В некоторых ситуациях это может сильно упростить ввод данных пользователем. Например, чтобы переход происходил на ячейку справа, можно использовать команду
  • свойство Names позволяет вернуть коллекцию Names, представляющую все именованные диапазоны в активной рабочей книге. При помощи метода Add() коллекции Names вы можете также сами определять в рабочей книге свои именованные диапазоны. На практике именованные диапазоны работают примерно так же, как закладки в Word — при помощи их очень удобно определять наборы данных в сложных таблицах Excel. На графическом экране в Excel определить именованные диапазоны можно при помощи меню Вставка ->Имя.
  • свойства ODBCErrors и OLEDBErrors позволяют получать информацию о возникших ошибках при подключении к базам данных ODBC и OLEDB соответственно. Реально они возвращают одноименные коллекции, которые состоят из объектов ODBCError и OLEDBError соответственно, их которых и можно получить информацию об ошибке.
  • OnWindow — это свойство больше похоже на событие. В качестве его значения указывается имя процедуры, которая должна находиться в модуле уровня книги (по умолчанию такой модуль не создается — его нужно создать вручную). Эта процедура будет вызываться всякий раз, когда пользователь переключился в окно Excel (не важно, какой книги и какого листа). Вместо этого свойства можно использовать макросы со специальными именами Auto_Activate и Auto_Deactivate (они будут срабатывать после выполнения процедуры, определенной в OnWindow).
  • Range — очень важное свойство. Возвращает объект Range, который представляет собой диапазон ячеек и используется в Excel практически для любых операций с ячейками.
  • ReferenceStyle — возможность переключить режим отображения ячеек между A1 (буквы — столбцы, цифры — строки) и R1C1 (когда и строки, и столбцы указываются цифрами). На графическом экране это можно сделать через меню Сервис ->Параметры -> вкладка Общие, флажок стиль ссылок R1C1. На практике пользователям ближе стиль вида A1, а программистам, конечно, R1C1 (особенно в тех ситуациях, когда столбцов очень много и приходится использовать столбцы AA, AB и т.п.). Во многих ситуациях удобно бывает перед выполнением какой-то программной операции вначале перевести режим отображения в R1C1, а после окончания на радость пользователям вернуть обратно. Можно этим и не заниматься, а использовать другие способы для отсчета определенного количества столбцов.
  • Selection — как несложно догадаться, это свойство возвращает то, что в настоящий момент выбрал пользователь. Если он выбрал обычные ячейки в таблице, то вернется объект Range. Если же пользователь выбрал что-то на диаграмме, то может вернуться объект осей, легенды и т.п. — в зависимости от того, что было выбрано. В отличие от Word, объект Selection в Excel используется очень редко.
  • Sheets — это свойство мы будем подробнее разбирать в разделе, посвященном книгам Excel. Оно возвращает коллекцию Sheets — набор листов книги (если вызывается для приложения, то для активной книги) и набор диаграмм, которые находятся на отдельных листах. Если используется свойство Worksheets, то вернется та же коллекция Sheets, но уже состоящая только из объектов Worksheet — обычных листов (без диаграмм).
  • TemplatesPath — свойство для чтения, при помощи которого можно вернуть информацию о каталоге с шаблонами Excel (например, для размещения собственного шаблона или открытия шаблона из этого каталога). По умолчанию используется каталог Application DataMicrosoftTemplates в профиле пользователя.
  • ThisCell и ThisWorkbook — очень удобные свойства, которые позволяют обращаться к текущей ячейке и текущей книге, не обременяя себя созданием объектных переменных. Эти объекты создавать не нужно — они и так изначально существуют в работающем Excel.
  • Свойства Windows, Workbooks и Sheets возвращают, соответственно, все открытые окна, книги и листы Excel. Про объекты рабочей книги и листа мы будем говорить ниже.
  • Свойство WorkSheetFunction позволяет использовать в программе на VBA функции Excel напрямую, без необходимости прописывать их в какую-либо ячейку.

Самые важные методы объекта Excel.Application перечислены ниже:

  • ActivateMicrosoftApp() — специальный метод, который предназначен для запуска и активизации (или просто активизации, если приложение уже запущено) приложений Office (Word, Access, PowerPoint) и некоторых других (Project, FoxPro, Schedule Plus).
  • AddCustomList() — возможность создать новый пользовательский список. В качестве параметра принимает либо объект Range (элементами списка станут те значения, которые есть в диапазоне), либо просто стандартный объект Array. Удалить можно при помощи метода DeleteCustomList().
  • методы, которые начинаются на Calculate…, позволяют пересчитать значения в ячейках. Просто Calculate() — обычный пересчет значений (чаще всего нужен, если автопересчет отключен), CalculateFull() — пересчитать значения во всех открытых книга, CalculateFullRebuild() — еще и произвести перестроение формул (аналогично занесению всех формул заново). Остановить пересчет можно при помощи метода CheckAbort().
  • ConvertFormula() — возможность преобразовать формулу двумя способами: либо перевести адресацию ячеек в другой режим (например, вместо A1 в R1C1), либо поменять абсолютные ссылки на относительные и наоборот. В качестве параметра принимает строковую переменную с текстом формулы (должна начинаться с символа =) и флаги конвертации.
  • DoubleClick() — эквивалентно двойному щелчку мышью по активной ячейки, то есть переход в режим ввода данных в эту ячейку.
  • Evaluate() — очень полезный и часто используемый метод. Позволяет по имени найти объект книги Excel и преобразовать его в объект или значения для дальнейшего использования. В качестве имен этот метод принимает:
  • имена ячеек в стиле A1 (возвращается объект Cell)
  • имена диапазонов (возвращается объект Range)
  • имена, определенные в макросе (чаще всего — названия переменных)
  • ссылки на внешние книги (например, Evaluate("[Book1.xls]Sheet1!A5"))

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

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

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

  • GetOpenFilename() — это упрощенный способ работы с окном открытия файлов. Самый простой способ открыть диалоговое окно Open и получить информацию о том, что выбрал пользователь (в виде строковой переменной с информацией о имени файла с полным путем), выглядит так:

If Filename <> False Then

  • GetSaveAsFilename() — такой же по функциональности способ, который работает с окном Save As.
  • GoTo() — важный и часто используемый метод. Принимает в качестве параметра объект Range, строку со ссылкой на ячейку (в формате R1C1) или имя процедуры VBA и выделяет и активизирует диапазон/ячейку или запускает на выполнение (если передается имя процедуры). В отличие от метода Select(), этот метод еще и автоматически активизирует лист, на котором расположен диапазон или ячейка.
  • Help() — этот метод позволяет открыть и показать информацию из файла справки (в том числе пользовательского). В качестве параметра принимает имя файла справки и метку темы в нем.
  • метод Intersect() возвращает диапазон, который представляет область пересечения двух других (или более) диапазонов. Если передаваемые в качестве параметров диапазоны не пересекаются, возвращается Nothing.
  • OnKey() — этот метод позволяет "посадить" процедуру VBA на определенную клавиатурную комбинацию. Например, чтобы назначить процедуру Msg() из модуля Лист1 клавиатурной комбинации + , можно воспользоваться командой
  • OnRepeat() — возможность назначить процедуру, которая будет выполняться при использовании команды Повторить в меню Правка. Назначение процедуры команде Отменить в том же меню производится при помощи метода OnUndo().
  • RegisterXLL() — возможность подключить файл надстройки Excel с расширением XLL и зарегистрировать его функции и процедуры. Этот метод используется при установке собственного приложения.
  • метод Repeat() позволяет просто повторить действие, которое было выполнено последним пользователем (не программным способом). Аналогично команде Повторить в меню Правка. Отменить действие пользователя можно при помощи метода Undo().
  • метод Run() позволяет выполнить: процедуру или функцию VBA, макрос Excel или процедуру или функцию в модуле XLL (и передать ей до 30 параметров).
  • метод SendKeys() позволяет эмулировать нажатия клавиш и передать их в активное окно приложения. Обычно используется, если нужно что-то продемонстрировать пользователю (в этом случае используются паузы) или нужно что-то сделать через меню (например, не удалось найти, как это можно сделать через код).
  • Union() — это важный метод позволяет объединить два или более диапазонов.
  • Volatile() — этот хитрый метод должен вызываться только из пользовательской функции, которая вычисляет значение ячейки. Если он вызван и ему передано значение True, то данная ячейка становится чувствительной (volatile) и она будет пересчитываться при любом изменении значений в листе, даже том, которое ее не касается.
  • Wait() — это метод позволяет приостановить работу Excel на указанное вами время, сняв нагрузку с процессора. Используется для демонстраций — чтобы пользователь успел увидеть, что происходит, для ожидания завершения выполнения какой-либо внешней операции и т.п. При этом ввод пользователя блокируется, а указатель мыши приобретает вид песочных часов. Однако некоторые фоновые операции Excel, такие, как печать и пересчет значений, продолжают выполняться. Например, чтобы взять паузу на пять секунд, можно воспользоваться кодом

If Application.Wait(Now + TimeValue("0:00:5")) Then

MsgBox "Пять секунд прошло"

  • Методы Quit(), OnTime(), FindFile() делают то же самое, что и в Word.

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

Application. Pi () ‘Вычисление числа Пи.

Application.Sum(Аргументы) ‘Вычисление суммы аргументов.

Для глобальных свойств и методов объекта Application можно опускать префикс Application, непосредственно именуя глобальный элемент. Например, обращение Application .ActiveSheet можно заменить на ActiveSheet.

В иерархии объектов подчиненными для объекта Application являются объекты коллекций: WorkBooks (Рабочие книги), Worksheets (Рабочие листы), Range (Диапазон), Chart.

Как было сказано, объект Application обладает большим количеством свойств, методов и событий, что приводит иногда к избыточности и не позволяет рассмотреть их полностью. Важные свойства объекта Application приведены в табл. 8.1.

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

Active Workbook, ActiveSheet, ActiveCell, ActiveChart

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

Пример: ActiveCell.Value = "Название региона"

Задает режим вычислений. Возможные значения: xl Calculation A uremia tic (автоматический режим), xlCalculationManual (вручную).

Определяет текст в строке заголовка активного окна

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

Определяют по умолчанию соответственно путь файла, формат и направление просмотра текста

Булевские свойства, позволяющие включить или выключить отображение на экране тех или иных элементов приложения

Определяет семейство (коллекцию) стандартных диалоговых окон Excel. Возможные типы окон: xlDialogOpen, xlDialogSaveAs, xlDialogSave. С помощью свойства Dialogs можно организовать диалог с пользователем.

Пример: Application. Dialogs . Show — активизирует диалоговое окно открытия документа

Height, Width, Left, Top

Группа свойств, определяющих высоту, ширину и координаты верхнего левого угла окна приложения Excel

Коллекция имен ячеек и областей всех открытых документов Excel

Возвращает текущую рабочую книгу

Определяет коллекцию открытых в Excel рабочих книг

Возвращает выделенный в активном окне объект, тип которого зависит от текущего выделения. Если нет выделенного объекта, то возвращается значение Nothing

Важные методы объекта Application приведены в табл. 8.2.

Основные методы объекта Application

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

Возвращает диапазон с пересечением нескольких диапазонов. Синтаксис: Intersect (range 1, range2, . ).

Пример: Intersect(Range("Bl:E3") , Range ("D3:E4")). Select — результат диапазон D3:E3

Возвращает диапазон с объединением нескольких диапазонов. Синтаксис: Union (гangel, range2, . ).

Пример: Union (Range("Bl:C2") , Range ("D3:E4")). Select — результат область из диапазона В1:С2 и диапазона D3:E4

Запускает макрос (второй параметр метода) в указанное время (первый параметр метода):

OnTime (Время, ИмяПроцедуры As String, [. ]) .

Пример: запускает процедуру «Test» в 9 ч 30 мин —

OnTime (TimeValue(”09:30:00" ) , "Test")

Запускает на выполнение макрос (процедуру или функцию) проекта рабочей книги или функцию из DLL или XLL. Синтаксис: Run(ИмяМакроса, Аргументы).

Пример: запускает вычисление факториала (функция Fakt) для числа 5 (аргумент функции) — f=Application.Run("Fakt", 5)

Временно приостанавливает работу приложения на заданное время: Wait(Time) As Boolean.

Пример: Application.Wait (Now + TimeValue("0:00:15"))

Закрывает приложение. Пример: Application . Quit

Объект Application может обрабатывать более 20 событий. Большая часть из них возникает в процессе работы с объектами Workbook (рабочая книга), Sheet (страница документа) и Window (окно). Почти все события, кроме NewWorkBook, могут быть обработаны на двух уровнях — объектом Application и объектом Workbook.

Важные события объекта Application приведены в табл. 8.3.

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

При создании новой рабочей книги

При активизации рабочей книги

Перед закрытием рабочей книги

Перед сохранением рабочей книги

При потере фокуса (перестает быть активной)

При добавлении нового листа в рабочую книгу

При открытии рабочей книги

Функция CountA объекта Application. Часто в программах на VBA необходимо осуществить поиск последней заполненной ячейки в некотором диапазоне. Для этого можно использовать функцию COUNTA объекта Application. Данная функция подсчитывает количество непустых ячеек заданного диапазона и количество аргументов, которые содержат значения. Функция учитывает элементы, содержащие числовые значения и другие непустые значения, в том числе текст, значения даты и логические значения.

Синтаксис функции CountA:

где arg1> arg2t . argn являются диапазоном ячеек или значениями (константами). Может быть до 30 аргументов.

Рассмотрим, как можно использовать функцию CountA в некотором коде на VBA. Пусть на листе Excel содержится информация, приведенная на рис. 8.3.

Рис. 8.3. Фрагмент листа MS Excel

Исходя из приведенной на рис. 8.3 Excel-таблицы при вызове функции CountA в коде VBA будут получены результаты, приведенные в табл. 8.4.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *