Объект обработки в программе эксель это

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

Создание объекта Application, реагирующего на события

Для всех приложений Office 2000 соответствующие объекты Application хотя и могут реагировать на события, но появляются как объекты без событий. И нужно приложить некоторые усилия, чтобы создать новый объект Application With Events , который может реагировать на события. Причина возникающих сложностей кроется в логике построения программного проекта, изначально принятой в Office.

Дело в том, что обработчики событий, возникающих при работе с теми или иными объектами, следует размещать в специальных модулях — обработчиках событий. Для большинства стандартных объектов Office эти модули создаются автоматически в момент создания основного объекта. Так, например, при создании документа в его проекте автоматически создается модуль, обрабатывающий события этого документа, — для Excel это модуль с именем «ЭтаКнига» (ThisWorkbook). Только в этом модуле и можно создать обработчики событий объекта Workbook и всех объектов, реагирующих на события, например, элементов управления, встраиваемых непосредственно в документ.

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

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

Option Explicit ‘Класс, описывающий объект Application With Events. ‘Класс не имеет методов, задается одним свойством. Public WithEvents ExApp As Application
Public AppWithEv As New AppWithEvents
Private Sub Workbook_Open() ‘Связывание двух объектов Application — ‘стандартного и реагирующего на события. Set AppWithEv.ExApp = Excel.Application End Sub
Private Sub ExApp_NewWorkbook(ByVal Wb As Workbook) ‘Обработка события — создание новой книги.

Static Num As Integer Num = Num + 1 MsgBox («Число вновь созданных книг — » vbCrLf Новая книга — » » открыта в » Сохранить как «. WorkbookDeactivate(Wb As Workbook) Книга перестает быть активной, поскольку активной становится другая книга. Деактивированная книга передается обработчику события в качестве параметра. WorkbookNewSheet(Wb As Workbook, Sh As Object) При добавлении новой страницы в рабочую книгу. Объект Wb задает книгу, а Sh — страницу, добавленную в эту книгу. WorkbookOpen(Wb As Workbook) При открытии уже существующей рабочей книги. Обработчику события передается объект Wb , представляющий вновь открытую книгу.

Приемы первичной обработки массивов данных в MS EXCEL

Практически все события, происходящие с объектом Workbook , могут быть обработаны на двух уровнях — объектом Application и самим объектом Workbook . Разница лишь состоит в том, что если у объекта Application есть, например, событие WorkbookOpen , то у объекта Workbook есть событие Open . При возникновении данного события операционная система посылает соответствующее сообщение двум объектам — Application и Workbook . Обработчику сообщения WorkbookOpen передается параметр Wb , задающий открываемую книгу. Понятно, что при посылке аналогичного сообщения объекту Workbook передавать этот параметр не имеет смысла, поскольку он и так знает сам себя, так что обработчик события Open объекта Workbook параметров не имеет.

Первые шаги, формулы, обработка информации Excel

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

Приведу пример, в котором предусмотрена общая для всех рабочих книг обработка события BeforeSave :

Private Sub ExApp_WorkbookBeforeSave(ByVal Wb As Workbook, _ ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim YesNo As Variant YesNo = MsgBox(«Вы действительно хотите сохранить этот документ?», vbYesNo) If YesNo = vbNo Then Cancel = True End Sub

Предупреждающее сообщение будет появляться для всех рабочих книг. Рассмотрим теперь пример, когда обработка события BeforePrint предусмотрена на двух уровнях:

Private Sub Workbook_BeforePrint(Cancel As Boolean) ‘Обработка события — печать содержимого книги. MsgBox («Эту книгу — » » печатать запрещено!») Cancel = True End Sub Private Sub ExApp_WorkbookBeforePrint(ByVal Wb As Workbook, Cancel As Boolean) ‘Обработка события — печать содержимого книги. If Wb.ActiveSheet.Name = «Лист1» Then MsgBox («Эту страницу книги — » » печатать запрещено!») Cancel = True End If End Sub

Читайте также:
Программа прецедент какой канал

Специальный обработчик события объекта Workbook книги BookOne запрещает печать только этой книги, а общий для всех книг обработчик того же события, но находящийся в объекте Application , запрещает печать только первого листа, но для всех рабочих книг. Вот как выглядит сообщение, выданное для книги BookOne общим обработчиком при попытке распечатать содержимое первого листа книги:

Сообщение, выданное обработчиком события WorkbookBeforePrint

увеличить изображение: увеличить изображение,
Рис. 3.3. Сообщение, выданное обработчиком события WorkbookBeforePrint

События, связанные с объектом Sheet

Ряд событий, которые возникают в процессе работы со страницами той или иной рабочей книги, также могут быть обработаны на уровне объекта Application . Естественно, что эти события могут быть обработаны и на более низких уровнях — как на уровне объекта Workbook , так и на следующем уровне объектами, задающими саму страницу — Worksheet и Chart . Понятно, что на самом верхнем уровне задается обработка, общая для всех страниц всех книг, на следующем уровне обработка, общая для страниц конкретной книги, и на нижнем уровне — обработка, специфическая для данной страницы. В таблице 3.4 дана сводка событий, связанных с объектом Sheet , обрабатываемых на уровне объекта Application .

Таблица 3.4. События, возникающие при работе с объектом Sheet СобытиеКогда возникаетПараметры события
SheetActivate(Sh As Object) Страница становится активной. Вновь активированная страница передается обработчику события в качестве параметра.
SheetBeforeDoubleClick(Sh As Object, Target As Range, Cancel As Boolean) При двойном щелчке левой клавиши мыши на рабочей странице, но до того, как выполнится макрос, задающий реакцию на щелчок. Событие не возникает на Chart-страницах. Первый параметр передает обработчику события объект Sh , задающий рабочую страницу, на которой был произведен двойной щелчок. Второй параметр Target возвращает ячейку (объект Range ), ближайшую к указателю мыши в тот момент, когда был произведен щелчок. Если в обработчике события изменить значение параметра Cancel на True , то отменится выполнение макроса, задающего реакцию на двойной щелчок.
SheetBeforeRightClick(Sh As Object, Target As Range, Cancel As Boolean) Аналогично двойному щелчку, но при нажатии правой клавиши мыши. Параметры сохраняют смысл, описанный для обработчика событий двойного щелчка.
SheetCalculate(Sh As Object) При перевычислениях рабочей страницы или при любых изменениях данных, отображаемых на диаграмме страницы диаграмм. В зависимости от того, на странице какого типа произошло событие, параметр Sh представляет либо объект Workbook либо объект Chart .
SheetChange(Sh As Object, Target As Range) При изменениях в ячейках рабочей книги, инициированные пользователем или внешней ссылкой. Не возникает для Chart-страниц. Параметр Sh задает объект WorkSheet — страницу, в ячейках которой произошли изменения. Параметр Target задает область изменения — объект Range .
SheetDeactivate(Sh As Object) Страница перестает быть активной, поскольку активной становится другая страница. Деактивированная страница передается обработчику события в качестве параметра.
SheetFollowHyperlink(Sh As Object, Target As Hyperlink) При щелчке по гиперссылке на рабочей странице. Не возникает для Chart-страниц. В качестве параметров обработчику события передаются два объекта, представляющие рабочую страницу и гиперссылку, задающую переход.
SheetSelectionChange(Sh As Object, Target As Range) При изменении области выделения рабочей страницы. Не возникает для Chart-страниц. Параметр Sh задает объект WorkSheet -страницу, содержащую новую область выделения. Параметр Target задает новую область выделения — объект Range .

Источник: citforum.ru

Объектная модель программы MS EXCEL

Из всех офисных программ для создания пользовательских приложений чаще всего используется Excel. Этому есть два объяснения. Во-первых, данный пакет предназначен для широкого круга прикладных задач по обработке данных. Во-вторых, фактически именно с него началась история современного VBA. Всего несколько строчек кода, включенных в Excel, смогут создать программу для выполнения серьезных вычислений и оригинального анализа с использованием графики и выдачей отчетов. Однако для разработки собственных приложений необходимы следующие условия:

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

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

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

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

Например, объект Workbook представляет собой конкретный файл Excel. Он имеет свойства Name (имя файла), Path (имя каталога) и Author (имя автора файла). Метод Save сохраняет файл. Вот как выглядит использование этих методов:

Существует два способа ссылок на объекты: можно сослаться непосредственно на имя одного из объектов или на индекс в коллекции. Согласно самому простому определению коллекция — это группа похожих объектов. Все объекты Excel разделяются на два класса: единичные объекты и объекты в коллекции.

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

Читайте также:
Программа как выложить плитку

или номер
Workbooks(1)

Четыре ключевых объекта

Ключевыми объектами в Excel являются Application, Workbook, Worksheet и Range, которые образуют иерархию:

Объект Application представляет собой саму программу Excel. Все приложения Excel/VBA реализуются в Excel, поэтому можно рассматривать этот объект в качестве среды, в которой они осуществляются. Любые установки свойств или вызовы методов, совершенные с объектом Application, воздействуют на весь Excel и соответственно на все приложения VBA, выполняемые в его среде. Например, используя объект Application, можно сделать невидимой строку состояния Excel и изменить его заголовок:

Application.DisplayStatusBar = False
Application.Caption = «Пользовательское приложение»

Объект Workbook является файлом рабочей книги Excel. В терминах разработки приложений его можно рассматривать в качестве механизма доставки или контейнера для любого приложения VBA, созданного при помощи Excel. Любые установки свойств или вызовы методов, совершенные с объектом Workbook, воздействуют на данное приложение. Например, для установки защиты и сохранения рабочей книги можно использовать такой код:

Объект Worksheet, содержащийся в Workbook, служит нескольким целям в приложении Excel/VBA. Он содержит ячейки, куда пользователь может включать формулы для выполнения вычислений. При этом свойства и методы объекта Worksheet обрабатывают электронную таблицу как единое целое. Например, следующий код изменяет имя электронной таблицы(рабочий лист) и делает ее невидимой:

. Name = «Работа с ценными бумагами»

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

Например, пользователь способен получить доступ из ячейки к более чем 400 встроенным функциям Excel и вызвать функции VBA. Можно также установить связи с другими ячейками в той же самой электронной таблице, других электронных таблицах или других рабочих книгах. Гибкость и мощность объекта Range позволяют совершенствовать встроенный вычислительный блок Excel и создавать более сложные приложения для анализа данных.

Объект Application

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

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

1 ActiveWorkbook, ActiveSheet, ActiveCell-возвращают активную,соответственно,рабочую книгу,рабочий лист и ячейку.В следующем примере в активной ячейке вводиться срока “Отчет”:

2 Caption-возвращает или устанавливает текст из заголовка главного окна Excel.В следующем примере в качестве заголовка окна приложения устанавливается текст “Отчет за май”

Application.Caption=”Отчет за май”

3.DisplayFormulaBar-логическое свойство, регулирующее отображение строки формул.Например в следующем коде строка формул не отображается: Application.DisplayFormulaBar

4 DisplayStatusbar- логическое свойство, регулирующее отображение строки состояния

5 Path-возвращает путь к файлу Excel.exe

6 StatusBar- возвращает или устанавливает текст, выводимый в строке состояния

7 Version –возвращает номер текущей версии Excel.Используется для проверки применения корректной версии.Например:

If Application.Varsion <> “9.0” Then Exit Sub

Объект Workbook и семейство Workbooks

В иерархии Excel этот объект идет сразу после объекта Application и представляет файл рабочей книги.

Основные свойства объекта Workbook и семейства Workbooks

1 ActiveSheet – возвращает активный лист книги

2 Name –возвращает или устанавливает имя книги

З Path-возвращает полное имя папки, в которой находиться данная книга

4 Saved-логическое свойство, которое устанавливает, не производились ли изменения в книге со времени его последнего сохранения

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

1 Activate – активизирует рабочую книгу так, что ее первый рабочий лист становится активным.Например:

2 Protect- защищает рабочую книгу от внесения в нее изменений

3 Close –закрывает книгу

4 Open- открывает существующую книгу.Синтакис:

Open(FileName), где FileName –имя открываемого файла

5.Save-сохраняет книгу.например можно сохранить активную книгу: Application.ActiveWorkbook.Save

Основными событиями этого объекта являются Open (происходит при открытии книги).Например, напишем процедуру обработки события Open объекта Workbook при ее открытии.При этом мы выведем некоторое сообщение:

Объект Worksheet и семейство Worksheets

В иерархии Excel объект WorkSheet идет сразу после объекта Workbook и представляет рабочий лист

Основные свойства объекта Worksheet и семейства Worksheets

1 Name- возвращает или устанавливает имя рабочего листа

2 Cells –Возвращает семейство всех ячеек рабочего листа или объект Range-конкретную ячейку, если в скобках указаны номер строки и столбца, на пересечении которых ячейка расположенна.Например:

Worksheets(1).Cells.Interior.ColorIndex=3 –окрашивает все ячейки первого рабочего листа в красный цвет.

Worksheets(1).Cells(1,2).Value=”Привет” –выводит строку “Привет” в ячейку,расположенную в первой строке во втором столбце

3 Columns, Rows- возвращают семейство всех столбцов и строк рабочего листа или конкретный столбец, если в скобках указан индекс.Например

WorkSheets(1).Columns(2)- возвращает второй столбец

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

1 Activate- активизирует указанный рабочий лист.Например

2 Delete –удаляет указанный рабочий лист. Например

3 Protect — защищает рабочий лист от внесения в нее изменений

Основными событиями этого объекта являются Activate (происходит при активизации рабочего листа) и Deactivate (происходит при деактивизации рабочего листа).Например, напишем процедуру обработки события Activate объекта Worksheet при ее активизации.При этом мы выведем некоторое сообщение:

В иерархии Excel объект Range (диапазон), один из ключевых объектов VBA, следует сразу после объекта Worksheet. Объект Range не является элементом никакого семейства объектов.

Если в диапазоне указывается только имена столбцов и строк, то объект Range задает диапазон, состоящий из указанных столбцов и строк.Например, Range(“A:C”) задает диапазон состоящий из столбцов A,B,C. Range(“A:A”) задает диапазон состоящий из столбца А, Range(“2:2”) задает диапазон состоящий из второй строки.

Читайте также:
Зачем папка программ дата

Для того чтобы сослаться на конкретный диапазон ячеек достаточно указать адрес его верхней левой ячейки и адрес его нижней правой.Например, Range(“A1:B3”) задает диапазон состоящий из ячеек A1,A2,A3,B1,B2,B3.

Ячейка-это частный случай диапазона, который состоит из единственной ячейки.Например Range(“A1”) задает диапазон состоящий из ячейки A1.

Основные свойства объекта Range

1 Value- возвращает или устанавливает значение в ячейках диапазона.Например

x=Range(“C1”).Value — Некоторой переменной х присваивается значение из ячейки C1

2 Name- возвращает или устанавливает имя диапазана

3 Columns, Rows- возвращают все столбцы или строки в диапазоне.Например

Worksheets(1).Range(«A1:B3»).Columns.Value = 2 – во всех столбцах диапазона

A1:B3 выводится число 3

4 Interior- возвращает объект Interior, представляющий собой фон ячейки.Среди свойств объекта Interior

отметим только одно –ColorIndex-цвет фона, которое задается целыми числами от 1 до 56.Например

Range(“A1”).Interior.ColorIndex=3 — Фон ячейки A1 заполняется красным цветом

5 Font –возвращает объект Font, представляющий собой шрифт.Объект Font имеет свойства Name(строка, указывающая имя шрифта) и т.д.

6 HorizontalAlignment- Горизонтальное выравнивание в ячейках диапазона.Допустимы значения xlCenter (Выравнивание по центру),xlRight(Выравнивание по правому краю) и т.д.

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

1 ClearFormats и ClearContents- очищают, соотве-но, форматы и содержимое в ячейках диапазона.Например

2 Select- выделение диапазона

Источник: poisk-ru.ru

Основные понятия электронных таблиц microsoft excel

Программа Excel входит в пакет Microsoft Office для Windows и предназначена для подготовки и обработки электронных таблиц под управлением Windows.

Для успешной работы с электронными таблицами нам необходимо определить их базовые понятия.

Документом (т. е. объектом обработки) Excel является файл с произвольным именем, организованным по правилу написания имен Windows, и имеющий расширение .XLS. В терминологии Excel такой файл называется рабочей книгой.

Рабочая книга включает от 1 до 255 электронных таблиц, каждая из которых называется рабочим листом. Рабочий лист имеет табличную структуру и может содержать одну или несколько таблиц.

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

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

Рабочий лист состоит из строк и столбцов. Строки пронумерованы це­лыми числами от 1 до 65536. Столбцы озаглавлены прописными латинскими буквами и, далее, двухбуквенными комбинациями (А, В, . Z, АА, АВ, . IV). Всего рабочий лист может содержать до 256 столбцов.

На пересечении столбца и строки располагается основной структурный элемент таблицы – ячейка.

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

Для указания на конкретную ячейку таблицы используется адрес, который составляется из обозначения столбца и номера строки, на пересечении которых эта ячейка находится (например, Al, F8, С24, АА2 и т. д.). Адреса ячеек используются при записи формул, определяющих взаимосвязь между значениями, расположенными в разных ячейках.

Ячейка таблицы, окаймленная серой рамкой, является выделенной. Она является активной и выделяется рамкой активной ячейки. Эта рамка в программе Excel играет роль курсора. Операции ввода и редактирова­ния всегда производятся в активной ячейке. Переместить рамку активной ячейки можно с помощью курсорных клавиш или указателя мыши.

Основные правила работы с документами под управлением Windows – создание, открытие, сохранение и редактирование аналогичны при рассмотрении процессора Word и подробно на них останавливаться не будем.

Окно программы Excel

Общий вид окна приложения Excel (совместно с окном доку­мента) показан на рис. 1. Окно содержит все стандартные эле­менты, рассмотренные нами при изучения процессора Word.

Рассмотрим элементы окна, специфичные для программы Excel.

Ниже панели «Форматирование» располагается строка фор­мул, в которой набираются и редактируются данные и формулы, вводимые в ячейку. В левой части этой строки находится раскрывающийся список – поле имени, в кото­ром высвечивается адрес (или имя) выделенной ячейки таблицы.

Правее поля имени находится небольшая область (ограниченная справа вер­тикальной чертой), в которой во время ввода данных появляются три кнопки управления процессом ввода: Отмена, Ввод, Изменить формулу.

Ниже строки формул находится заголовок столбца (с обозна­чениями – номерами А, В, С, . ), а в левой части экрана – заголо­вок строки (с номерами 1, 2, 3, . ). Слева, на пересечении заголовка столбца и заголовка строки имеется пустая кнопка для выделения всей таблицы.

В правой части окна находятся стандартные полосы прокрут­ки, предназначенные для перемещения по рабочему листу (вверх — вниз, влево — вправо). Хотелось бы отметить, что Excel позволяет разделить окно таб­лицы на два или четыре подокна и одновременно работать с разными частями одной и той же таблицы. Разделить окно таб­лицы можно либо с помощью разделителей окна (прямо­угольные разделители на границах полосы прокрутки), или командой (Окно — Разделить).

Выше строки состояния располагается строка с ярлычками листов, которая позволяет перехо­дить от одного рабочего листа к другому в пределах рабочей книги. Чтобы переименовать рабочий лист, надо дважды щелкнуть на его ярлычке. Работу с ярлычками листов вы освоите на практических занятиях.

Источник: studfile.net

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru