Что не является объектом excel

Обновлено: 05.07.2024

+ Все виды действий с электронными таблицами (создание, редактирование, выполнение вычислений); построение графиков и диаграмм на основе данных из таблиц; работа с книгами и т.д.

- Редактирование таблиц; вывод данных из таблиц на печать; правка графической информации

8. К табличным процессорам относятся:

+ Quattro Pro 10, Lotus 1-2-3

- Microsoft Excel, Freelance Graphics

- Paradox 10, Microsoft Access

9. К встроенным функциям табличных процессоров относятся:

тест 10. Какие типы диаграмм позволяют строить табличные процессоры?

+ График, точечная, линейчатая, гистограмма, круговая

- Коническая, плоская, поверхностная, усеченная

- Гистограмма, график, локальное пересечение, аналитическая

11. Математические функции табличных процессоров используются для:

- Исчисления средних значений, максимума и минимума

- Расчета ежемесячных платежей по кредиту, ставок дисконтирования и капитализации

+ Расчета тригонометрических функций и логарифмов

12. Документ табличного процессора Excel по умолчанию называется:

13. Табличный процессор обрабатывает следующие типы данных:

- Матричный, Временной, Математический, Текстовый, Денежный

- Банковский, Целочисленный, Дробный, Текстовый, Графический

+ Дата, Время, Текстовый, Финансовый, Процентный

14. Статистические функции табличных процессоров используются для:

- Проверки равенства двух чисел; расчета величины амортизации актива за заданный период

+ Вычисления суммы квадратов отклонений; плотности стандартного нормального распределения

- Расчета кортежа из куба; перевода из градусов в радианы

15. Какова структура рабочего листа табличного процессора?

- Строки, столбцы, командная строка, набор функций

- Ячейки, набор функций, строка состояния

+ Строки и столбцы, пересечения которых образуют ячейки

16. Как называется документ, созданный в табличном процессоре?

17. Финансовые функции табличных процессоров используются для:

- Вычисления произведения аргументов; определения факториала числа

- Определения ключевого показателя эффективности; построения логических выражений

+ Расчетов дохода по казначейскому векселю и фактической годовой процентной ставки

18. Табличные процессоры относятся к какому программному обеспечению?

19. В виде чего нельзя отобразить данные в электронной таблице?

тест_20. Дан фрагмент электронной таблицы с числами и формулами.

Электронная таблица

Чему равно значение в ячейке Е3, скопированное после проведения вычислений в ячейке Е1?

21. Расширение файлов, созданных в Microsoft Excel – это:

22. Координата в электронной таблице – это адрес:

+ Клетки в электронной таблице

- Данных в столбце

- Клетки в строке

23. Какие типы фильтров существуют в табличном процессоре Excel?

- Тематический фильтр, автофильтр

+ Автофильтр, расширенный фильтр

- Текстовый фильтр, числовой фильтр

24. Наиболее наглядно будет выглядеть представление средних зарплат представителей разных профессий в виде:

25. 30 ячеек электронной таблицы содержится в диапазоне:

26. Выберите абсолютный адрес ячейки из табличного процессора Excel:

27. Скопированные или перемещенные абсолютные ссылки в электронной таблице:

- Преобразуются в соответствии с новым положением формулы

- Преобразуются в соответствии с новым видом формулы

28. Активная ячейка – это ячейка:

- С формулой, в которой содержится абсолютная ссылка

+ В которую в настоящий момент вводят данные

- С формулой, в которой содержится относительная ссылка

29. Отличием электронной таблицы от обычной является:

+ Автоматический пересчет задаваемых формулами данных в случае изменения исходных

- Представление связей между взаимосвязанными обрабатываемыми данными

- Обработка данных различного типа

тест-30. Совокупность клеток, которые образуют в электронной таблице прямоугольник – это:

31. В табличном процессоре Excel столбцы:

+ Обозначаются буквами латинского алфавита

- Обозначаются римскими цифрами

- Получают имя произвольным образом

32. Символ «=» в табличных процессорах означает:

- Фиксацию абсолютной ссылки

+ Начало ввода формулы

- Фиксацию относительной ссылки

33. Какого элемента структуры электронной таблицы не существует?

34. Числовое выражение 15,7Е+4 из электронной таблицы означает число:

35. В одной ячейке можно записать:

+ Только одно число

- Одно или два числа

- Сколько угодно чисел

36. Подтверждение ввода в ячейку осуществляется нажатием клавиши:

37. Содержимое активной ячейки дополнительно указывается в:

38. Для чего используется функция Excel СЧЕТ3?

- Для подсчета ячеек, содержащих числа

- Для подсчета пустых ячеек в диапазоне ячеек

+ Для подсчета заполненных ячеек в диапазоне ячеек

39. Функция ОБЩПЛАТ относится к:

тест*40. Укажите верную запись формулы:

41. Маркер автозаполнения появляется, когда курсор устанавливают:

+ В правом нижнем углу активной ячейки

- В левом верхнем углу активной ячейки

- По центру активной ячейки

42. Диапазоном не может быть:

+ Группа ячеек D1, E2, F3

43. Можно ли убрать сетку в электронной таблицу Excel?

- Да, если снята защита от редактирования таблицы

+ Ширина ячейки меньше, чем длина полученного результата

- Допущена синтаксическая ошибка в формуле

- Полученное значение является иррациональным числом

45. В электронной таблице выделен диапазон ячеек A1:B3. Сколько ячеек выделено?

Термин Объекты 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 (на английском).

Доступ к диапазону, состоящему из единственной ячейки, может быть осуществлён через объект Worksheet при помощи свойства Cells, например, Worksheet.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.

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

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

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

Как и другие процедуры, методы могут иметь аргументы, которые передаются методу при его вызове. Например, метод Close объекта 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 и изменение его значения.

Для разработки решений, использующих Microsoft Office Excel, необходимо взаимодействие с объектами, предоставляемыми объектной моделью Excel. В этом разделе представлены наиболее важные объекты:

Применимо к: Сведения в этом разделе применимы к - проектам уровня документа и к добавлению VSTO - в проектах для Excel. Дополнительные сведения см. в разделе доступность функций по типам приложений Office и проектов.

Интересуетесь разработкой решений, расширяющих возможности Office на нескольких платформах? Ознакомьтесь с новой моделью надстроек Office. Надстройки Office имеют небольшой объем по сравнению с надстройками и решениями VSTO, и их можно создавать с помощью практически любой технологии веб-программирования, такой как HTML5, JavaScript, CSS3 и XML.

Объектная модель точно соответствует пользовательскому интерфейсу. Объект Application представляет приложение в целом, а каждый из объектов Workbook содержит коллекцию объектов Worksheet . Отсюда следует, что основная абстракция, представляющая ячейки, является объектом Range, позволяющим работать с отдельными ячейками или группой ячеек.

помимо Excel объектной модели Office проекты в Visual Studio предоставляют ведущие элементы и элементы управления ведущего приложения , расширяющие некоторые объекты в объектной модели Excel. Поведение ведущих элементов и элементов управления ведущего приложения аналогично поведению объектов Excel, однако они обладают дополнительными функциональными возможностями, такими как возможность привязки данных и дополнительные события. дополнительные сведения см. в разделе автоматизация Excel с помощью расширенных объектов , ведущих элементов и общих сведений об элементах управления ведущего приложения.

В этом разделе приводится краткий обзор объектной модели Excel. дополнительные сведения о всей модели объектов Excel см. в статье использование Excel объектной модели.

доступ к объектам в проекте Excel

при создании нового VSTO проекта надстройки для Excel Visual Studio автоматически создает файл кода thisaddin. vb или thisaddin. cs . Доступ к объекту приложения можно получить с помощью свойства Me.Application или this.Application .

При создании нового проекта уровня документа для Excel можно создать новый проект книги Excel или шаблона Excel. Visual Studio автоматически создает в новом проекте Excel (как для проектов книги, так и для проектов шаблона) следующие файлы кода:

Класс Globals в проекте можно использовать для получения доступа к объекту ThisWorkbook , Sheet1 , Sheet2 или Sheet3 вне соответствующего класса. дополнительные сведения см. в разделе глобальный доступ к объектам в Office проектах. В следующем примере вызывается PrintPreview метод независимо от того, Sheet1 помещается ли код в один из классов Sheet n или ThisWorkbook класса.

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

С этими четырьмя объектами и их составляющими связана большая часть работы в Excel.

Объект приложения

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

Не устанавливайте для свойства EnableEvents объекта Application в Excel значение false. Установка значения false для этого свойства предотвращает инициирование событий в Excel, включая события элементов управления ведущего приложения.

Объект книги

Объект Workbook представляет отдельную книгу в приложении Excel.

Средства разработки Office в Visual Studio расширяют объект Workbook , предоставляя тип Workbook . Данный тип обеспечивает доступ ко всем функциям объекта Workbook. Дополнительные сведения см. в разделе ведущий элемент книги.

Worksheet - объект

Объект Worksheet является членом коллекции Worksheets. Многие свойства, методы и события объекта Worksheet идентичны или похожи на элементы, предоставляемые объектами Application или Workbook.

Excel предоставляет коллекцию Sheets как свойство объекта Workbook. Каждый член коллекции Sheets является объектом Worksheet или Chart.

Средства разработки Office в Visual Studio расширяют объект Worksheet , предоставляя тип Worksheet . Этот тип предоставляет доступ ко всем возможностям объекта Worksheet, а также к новым возможностям, таким как возможность размещения управляемых элементов управления и обработки новых событий. Дополнительные сведения см. в разделе ведущий элемент листа.

Range - объект

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

Visual Studio расширяет объект Range, предоставляя типы NamedRange и XmlMappedRange. Эти типы обладают большинством функций объекта Range, а также новыми функциями, такими как возможность привязки данных и новые события. Дополнительные сведения см. в разделе NamedRange Control and XmlMappedRange Control.

использование документации по объектной модели Excel

Полные сведения об объектной модели Excel см. в справочнике по основной сборке взаимодействия (PIA) Excel и в справочнике по объектной модели VBA.

Ссылка на основную сборку взаимодействия

В справочной документации по основной сборке взаимодействия Excel описываются типы основной сборки взаимодействия для Excel. эта документация доступна по следующему адресу: Excel 2010 основная ссылка на сборку взаимодействия.

дополнительные сведения о проектировании Excel pia, например о различиях между классами и интерфейсами в pia и о том, как реализуются события в pia, см. в разделе общие сведения о классах и интерфейсах в Office основных сборках взаимодействия.

Справочник по объектной модели VBA

В справочных документах по объектной модели VBA объектная модель Excel описана в том виде, в котором она предоставляется коду Visual Basic для приложений. дополнительные сведения см. в разделе справочник по объектной модели Excel 2010.

Программист, работающий в Excel , должен свободно ориентироваться в мире его объектов. Мощь офисного программирования определяется тем, что изначально в распоряжении программиста находится большое число уже готовых объектов. Чтобы с толком распорядиться предоставляемыми возможностями, объекты нужно знать.

Разговор об объектах Excel целесообразно начать с рассмотрения каркаса документа Excel . О важном понятии каркаса документа я много писал в предыдущих книгах [1, 2]. Многочисленные библиотеки объектов Office 2000, совокупность которых для программиста и представляют Office 2000, задают каркас всех документов, которые можно построить в этой среде. Когда создается новый документ, например, рабочая книга Excel , то по умолчанию из всей совокупности библиотек выбирается несколько, объекты которых и составляют каркас документа. Эти объекты доступны программисту, без каких либо дополнительных усилий. Центральную роль в каркасе документов Excel играют, конечно же, объекты библиотеки Excel . Но знание и всех других объектов, входящих в каркас, необходимо. Например, при программном создании интерфейса необходимо знание общих объектов библиотеки Office. Отмечу еще, что при желании программист всегда может расширить каркас документа, добавив в него те или иные библиотеки. Каркас, создаваемый по умолчанию в тот момент, когда открывается новая рабочая книга , состоит из объектов, входящих в состав следующих библиотек:

Если сравнить каркас рабочей книги Excel , например, с каркасом документа Word , то они отличаются тем, что в основе одного лежит библиотека Excel , в основе другого - библиотека Word . Эти библиотеки содержат специфические для данных приложений объекты. Что же касается интерфейсных объектов, объектов определяющих среду редактора VBA , автоматизацию, то здесь используются общие объекты. Библиотеки Office, Stdole, VBA - это общие для всех приложений Office 2000 библиотеки. Об объектах этих библиотек я подробно рассказывал в [2].

Замечу, что хотя каркас документа Excel не изменился в Office 2000 в сравнении с предыдущей версией, вместе с тем в объектной модели произошли довольно существенные изменения, появились новые объекты, новые свойства и методы у ранее существовавших объектов.

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

Прежде всего, несколько слов о том, как устроена объектная модель Excel и других приложений Office 2000. В этой модели объекты связаны между собой отношением встраивания . На нулевом уровне иерархии существует некоторый центральный объект , в который встроены другие объекты, составляющие первый уровень иерархии. В каждый из объектов первого и последующих уровней могут быть встроены объекты следующего уровня. Так этот процесс продолжается. Таким образом, объекты в этой модели "толстые", поскольку в них встроено большое число других объектов. В особенности это касается объектов, стоящих на верхних уровнях иерархии.

Формально встраивание реализуется с помощью свойств объектов. Свойства могут быть как терминальными, не являющимися объектами, и так называемыми свойствами - участниками, которые возвращают объекты при их вызове.

Давайте перейдем к рассмотрению библиотеки объектов Excel 9.0 и начнем с центрального объекта этой библиотеки - Excel.Application .

Объект Excel Application

Объект Excel.Application задает приложение Excel. А посему свойства, методы и события этого объекта должны характеризовать приложение в целом. Понятно, что у этого объекта должно быть свойство Workbooks , возвращающее все открытые в приложении рабочие книги, свойство Windows , возвращающее открытые окна, свойства, такие как CommandBars , возвращающие объекты интерфейса, и другие подобные свойства. Методов и событий, характерных для всего приложения в целом, по-видимому, не так уж и много. Так что, казалось бы, структура этого объекта должна быть достаточно простой. Однако реально это не так, - у объекта Excel.Application очень большое число свойств, методов и событий, что не позволяет мне описать их полностью, да и нет в этом особого смысла. Объект Excel.Application , на мой взгляд, явно перегружен, многие его свойства и методы без всякого ущерба можно было бы исключить, поскольку они оперируют с объектами, стоящими на более низких уровнях иерархии и не имеют прямого отношения ко всему приложению в целом. Приведу лишь один пример. Первое по алфавиту свойство ActiveCell возвращает объект, задающий активную ячейку . Понятно, что речь идет об активной ячейке активной страницы активной рабочей книги. Непонятно только, зачем нужно было добавлять это свойство самому приложению. Вполне достаточно, чтобы им обладал объект WorkSheet , задающий страницу книги. Более того, если в момент вызова свойства ActiveCell нет активной страницы с ячейками, то возникнет ошибка, чего не происходит, если активную ячейку вызывает объект WorkSheet . Примеров подобной перегруженности объекта Application можно привести много. Я в своем описании объектов верхнего уровня не всегда буду упоминать такие свойства, полагая, что лучше рассказать о них там, где они необходимы по существу.

Общие объекты и Excel.Application

Давайте начнем рассмотрение со свойств объекта Excel.Application, возвращающих уже знакомые нам общие объекты:

Все объекты, приведенные в этой таблице, играют важную роль при программной работе с документами Excel, как, впрочем, и с другими документами Office 2000.

Свойства - участники объекта

Рассмотрим теперь свойства - участники объекта Excel.Application , возвращающие объекты, специфические для Excel, Как я и предупреждал, я рассмотрю лишь основные свойства, которые действительно необходимы при работе с объектом Excel.Application .

Основное содержание этой главы будет связано с рассмотрением коллекции Workbooks , а точнее с объектом Workbook и вложенными в него объектами. Но прежде чем двинуться далее, приведу все-таки краткий обзор тех вложенных в Excel.Application объектов, доступных на этом уровне, по сути, относящихся к нижним уровням иерархии объектной модели Excel:

  • Группа активных объектов - ActiveWorkbook, ActiveWindow, ActiveSheet, ActiveChart, ActiveCell, ActivePrinter , - возвращающих активную рабочую книгу, окно, активную рабочую страницу, диаграмму или ячейку, если таковые существуют в момент вызова соответствующего свойства. При отсутствии запрашиваемого активного объекта возникнет ошибка. Все эти объекты будут подробно рассмотрены, но чуть позже, когда мы спустимся вниз по иерархии объектов. Особняком стоит свойство, возвращающее активный принтер. Это свойство действительно имеет смысл связать с приложением. Заметьте, что объекты, стоящие на нижних уровнях иерархии, например, Workbook , этим свойством не обладают, так что добраться до принтера можно только через объект Application.
  • Группа коллекций и объектов Range, входящих в состав соответствующего активного объекта - Sheets, Charts, Rows, Columns, Cells, Range - возвращающие соответственно коллекции рабочих страниц, страниц диаграмм активной рабочей книги, объект Range, содержащий все строки, столбцы, ячейки или заданную область активной рабочей страницы. Также как и в случае вызова объектов предыдущей группы, при вызове этих свойств следует быть осторожным, поскольку возникает ошибка, если нет соответствующего активного объекта.
  • Свойство Selection возвращает выделенный объект в активном окне. Тип возвращаемого объекта зависит, от текущего выделения. Возвращается Nothing, если в активном окне нет выделенного объекта.
  • Свойство ThisWorkbook возвращает текущую рабочую книгу, содержащую выполняемый макрос, один из операторов которого и вызвал это свойство. Это свойство представляет единственный способ добраться до рабочей книги, содержащей компонент AddIn, изнутри макросов, составляющих этот компонент.

Терминальные свойства

Терминальных свойств много, и понятно почему. Приложение Excel, как и другие приложения Office 2000, могут быть настроены пользователем по своему усмотрению. Эту настройку можно выполнять вручную, а можно и программно. Настройка вручную большей частью проводится из меню Сервис | Параметры, используя возможности, предоставляемые различными вкладками в открывающемся окне параметров. Для программной настройки используются терминальные свойства, - в этом их основное назначение. Естественно, я не буду останавливаться на всех свойствах, - они просты. В ниже приведенном обзоре представлено выборочное описание некоторых групп терминальных свойств:

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

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

  • Метод ActivateMicrosoftApp(Index As xlMSApplication) позволяет активировать приложение Microsoft, заданное соответствующей константой в аргументе метода. Если приложение уже выполняется, то активируется текущий вариант. В противном случае открывается экземпляр приложения, и затем приложение активируется. Константы позволяют задать все основные приложения Office 2000, а также FoxPro, Project и некоторые другие приложения Microsoft.
  • Группа методов - DeleteCustomList, DeleteChartAutoFormat, AddCustomList, AddChartAutoFormat - позволяет удалять и добавлять пользовательские списки и пользовательские форматы к тем спискам и форматам, которые используются в самом приложении Excel.
  • Группа из пяти DDE -методов позволяет обеспечить динамический обмен данными между приложениями в соответствии со стандартом DDE . Сохранена для поддержки совместимости с предыдущими версиями Excel.
  • Методы, запускающие вычисления - Calculate, CalculateFull , приводят к перевычислению рабочих страниц всех рабочих книг. Метод CheckSpelling запускает проверку орфографии во всех рабочих книгах. Метод Evaluate(Name) преобразует имя объекта в сам объект. Эти методы объединяет то, что все они, по существу, являются методами объектов более низкого уровня иерархии - объектов Workbook, WorkSheet, Chat . Объект Application "наследует" эти методы у своих потомков, что позволяет распространять действие метода на все открытые рабочие книги. Следует понимать, что пользоваться вызовом этих методов объектом Application стоит в очень редких случаях. Опять-таки, можно говорить о некоторой излишней перегрузке объекта Application .
  • Группа Get-методов - GetCustomListContents, GetCustomListNum , позволяет вернуть содержимое пользовательского списка, получить его номер. Методы GetOpenFileName, GetSaveAsFileName позволяют получить имя файла, выбранное пользователем, открывая по ходу дела соответствующее диалоговое окно.
  • Группа On-методов, позволяющих запустить на выполнение некоторый макрос. Метод OnKey(Key, Procedure) позволяет запустить макрос, заданный вторым параметром метода, при нажатии пользователем комбинации клавиш, заданной первым параметром метода. Метод OnTime(EarliestTime, Procedure As String, [LatestTime], [Schedule]) позволяет запустить макрос, заданный вторым параметром метода, в указанное время. О схожем методе OnTime рассказывалось при описании методов объекта Word.Application . Методы OnRepeat(Text As String, Procedure As String) и OnUndo(Text As String, Procedure As String) позволяют указать макросы и текст, который будет появляться в пунктах "Повторить Выполнение"и "Отменить Выполнение"из меню Правка. Когда пользователь выберет соответствующий пункт меню, то запускается макрос, указанный вторым параметром метода. Вот простой пример на применение этих методов:

Процедура RepeatAndUndo создает соответствующие пункты меню Правка, а процедуры Test и Write7 будут вызываться при выборе пользователем этих пунктов меню. Замечу, что реально особой пользы от применения этих методов не вижу, так как при любых действиях пользователя произойдет обновление этих пунктов меню.

  • Методы Repeat и Undo близки по духу к рассмотренным только что методам. Они позволяют повторить или отменить последнее действие пользователя при его работе вручную.
  • Еще одним важным методом, позволяющим запускать макрос на выполнение, является метод Run(Macro, Arg1, Arg2, …) . Метод Run позволяет выполнить макрос (процедуру или функцию) проекта рабочей книги или функцию из DLL или XLL. Макрос, запускаемый на выполнение, может находиться в той же рабочей книге, что и макрос, вызвавший метод Run , но может принадлежать и другой рабочей книге. В этом случае, естественно, проекты должны быть связаны по ссылке и в проекте, который вызывает макрос другого проекта, должна быть установлена ссылка на вызываемый проект. При вызове макросу могут быть передано произвольное число аргументов, все они передаются по значению, так что, заметьте, нельзя передать макросу сам объект, а только его значение, задаваемое свойством Value . Метод Run в свою очередь возвращает значение, являющееся результатом выполнения макроса. Приведу простой пример, демонстрирующий все особенности вызова метода Run :

Проекту документа BookOne я дал имя BookOneProject . В этом проекте объявлена глобальная переменная

В модуль с именем ModuleOne этого проекта я поместил описание процедуры PlusXY и функции Plus1 . Они выполняют простые и понятные без комментариев действия.

В этом же модуле находится и процедура testrun , демонстрирующая вызовы метода Run .

В проекте другой рабочей книги Excel с именем BookTwo я установил ссылку на проект BookOneProject и в один из модулей поместил процедуру testrun1 , вызывающую макросы проекта BookOneProject :

Взгляните, как выглядит сама форма.

Форма FlyForm, открытая на

Привожу рисунок этой формы только для того, чтобы пояснить, какая цель преследуется в этом примере. Я предполагал, что при открытии формы пользователь должен успеть в предоставленное ему время ввести два числа в поля X и Y, нажать кнопку, производящую вычисления и запомнить полученный результат. Однако мои намерения не осуществились, и вот по каким причинам. Если форма имеет статус модальной формы , то выполнение макроса приостанавливается до той поры, пока пользователь не закроет форму. Так что в этом случае у пользователя время на работу с формой не ограничено. Это я понимал. Если же форма имеет статус немодальной формы (свойство ShowModal = False ), то форма действительно будет открыта в течение 10 секунд. Но в этом случае пользователь не сможет работать с этой формой, вводить значения в поля ввода и нажимать командную кнопку. Хуже всего то, что при попытке ввода значений в поля формы они фактически будут попадать в произвольное место программного текста и порти ть сам проект. Так что следует быть осторожным в подобной ситуации.

  • Метод Help([HelpFile], [HelpContextID]) позволяет вызвать справочное руководство, указав при необходимости и соответствующий раздел в этом руководстве. Можно вызывать как стандартную справочную систему, - в этом случае не нужно задавать аргументы при вызове метода, либо, что чаще бывает, собственную справочную систему. Первый параметр метода задает имя файла, хранящего справочное руководство. Этот файл может иметь уточнение "chm" , если руководство подготовлено с помощью инструментария HTML Help Workshop , или иметь уточнение "htm", если справочная система создана с помощью инструментария Microsoft WinHelp.
  • Методы Intersect(Arg1 As Range, Arg2 As Range, …)As Range и Union(Arg1 As Range, Arg2 As Range, …)As Range возвращают в качестве результата объект Range , задающий прямоугольную область, представляющую соответственно пересечение или объединение областей аргументов, которых должно быть не менее двух и не более 30.
  • Метод InputBox , по существу, эквивалентен одноименной функции из библиотеки VBA [2, стр. 346]и позволяет организовать диалог с пользователем и принять введенное им значение. Функция InputBox является одной из наиболее широко применяемых функций, и примеров ее вызова приводилось достаточно много. Не обойтись без нее и в примерах этой книги. Что вызывать метод InputBox объекта Application или функцию InputBox библиотеки VBA - дело вкуса.
  • Метод Volatile([Volatile]) позволяет включить или выключить принудительное вычисление для функций, вызываемых в формулах рабочего листа. Метод вызывается непосредственно в функции, которую предполагается пометить. Булев параметр Volatile помечает функцию, как принудительно вычисляемую, если он имеет значение true . Это значение является значением параметра по умолчанию.

Я рассмотрел большую часть методов объекта Application. Замечу, что в предыдущей версии этих методов было значительно больше, поскольку многие функции Excel - математические и прочие были доступны на этом уровне. Теперь, как и положено, все они находятся в специальном контейнере WorkSheetFunction.

Читайте также: