Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Косарев_Экомическая информатика

.pdf
Скачиваний:
170
Добавлен:
03.05.2015
Размер:
9.05 Mб
Скачать

Программирование

 

 

381

Метод

 

Действие

 

Run

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

 

макрос: Run (ИмяМакроса, Аргументы)

Wait

Временно

приостанавливает

работу прило­

 

жения: Wait (Time)

 

OnTirae

Назначает выполнение процедуры на опре­

 

деленное

время: OnTime

(ВремяЗапуска,

 

ИмяПоцедуры,...)

 

Quit

Закрывает приложение

 

Событие

 

Когда происходит

NewWorkBook

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

WorkbookActivate

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

WorkbookBeforeClose

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

WorkbookBeforeSave

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

WorkbookDeactivate

Когда рабочая книга теряет фокус

WorkbookNewSheet

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

 

книгу

 

 

WorkbookOpen

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

 

Основные свойства, методы и события объектов семейства Workbooks представлены ниже.

Свойство

ActiveSheet

ActiveDialog

ActiveChart Count WriteReserved

Метод Activate

Add

Protect, Unprotect

Close, Open, OpenText

Save, SaveAs

Описание и допустимые значения

Возвращает активный лист книги Возвращает активное диалоговое окно Возвращает активную диаграмму Возвращает количество объектов семейства True (False) - документ закрыт (открыт) для записи

Действие

Активизирует рабочую книгу (первый лист становится активным)

Создает новую рабочую книгу Защищают (снимают защиту) рабочую книгу от внесения изменений

Закрытие (открытие) рабочей книги, откры­ тие текстового файла с таблицей данных Сохранение рабочей книги (сохранение в другом файле)

382

Глава 8

Событие

Когда происходит

BeforeClose

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

BeforeSave

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

Deactivate

Когда рабочая книга теряет фокус

NewSheet

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

 

книгу

Open

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

SheetActivate

При активизации рабочего листа

SheetDeactivate

Когда рабочий лист теряет фокус

Основные свойства, методы и события объекта Worksheets приведены ниже.

Свойство

Name

Visible

UsedRange

StandartHeight

ActiveCell

Intersect

Union

Метод

Activate

Add

Delete

Protect, Unprotect

Copy

Move

Описание и допустимые значения

Возвращает имя рабочего листа: Worksheets( 1 ).Ыате="Итоги"

True (False) - рабочий лист видим (невидим) на экране Возвращает диапазон ячеек рабочего листа

Возвращает стандартную высоту строк рабо­ чего листа

Возвращает активную ячейку рабочего листа Возвращает диапазон, представляющий пе­ ресечение нескольких диапазонов Возвращает диапазон, представляющий объ­ единение нескольких диапазонов

Действие

Активизирует рабочий лист: Worksheets (2). Activate

Создает новый рабочий лист: Active Workbook. Worksheet. Add

Удаляет рабочий лист: Worksheets (l). Delete Устанавливает (снимает) защиту рабочего листа от изменений Копирование активного рабочего листа

в другое место рабочей книги: Worksheets ("Лист 2"). Copy AfterWorksheets ("ЛистЗ")

Перемещение активного рабочего листа в другое место рабочей книги: Worksheets

("Лист2").

Move After:=

Worksheets

("Лист 3")

 

 

Программирование

383

Событие

Когда происходит

BeforeClose

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

BeforeSave

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

Deactivate

Когда рабочая книга теряет фокус

NewSheet

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

Open

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

SheetActivate

При активизации рабочего листа

SheetDeactivate

Когда рабочий лист теряет фокус

Основные свойства и методы объекта Range приведены ниже.

Свойство

Описание и допустимые значения

Value

Возвращает значение из ячейки или диапазона:

X = Range ("A2"). Value

Name

Возвращает имя диапазона: Range ("B1:B4").

Name = "Итого"

CurrentRagion

Возвращает количество строк текущего диапа­

зона

WrapText

True (False) - разрешает (не разрешает) перенос

текста при вводе в диапазон

EntireColumn,

Возвращает строку и столбец

Возвращает ширину столбцов и высоту строк

EntireRow

ColumnWidth,

диапазона

RowHeight

Возвращает объект Font (шрифт)

Font

Возвращает формулу: Range ("СЗ"). Formula =

Formula

"=$А$4+$А$10"

Text

Возвращает содержимое диапазона в текстовом

 

формате

Метод

 

Действие

Adress

Возвращает адрес ячейки

AutoFit

Автоматически настраивает ширину столбца

 

и высоту строки

Clear,

Очищают

соответственно диапазон, коммента­

ClearComments,

рии, содержание, форматы и примечания

ClearContents

 

 

ClearFormat,

 

 

ClearNotes

Копирует

диапазон в другой диапазон или

Cut

 

в буфер обмена

Delete

Удаляет диапазон

Insert

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

Select

Выделяет диапазон

PasteSpecial

Специальная вставка из буфера обмена

384

Глава 8

Кроме методов, приведенных выше, объект Range может использовать в качестве методов команды Excel, представлен­ ные ниже.

Метод

DataSeries

AutoFill

AutoFilter

AdvancedFilter

Consolidate

Find

GoalSeek

Sort

Subtotal

Действие

Создает прогрессию: Объект. DataSeries (rowcol, date,step, stop, trend)

Автозаполнение автоматически заполняет ячейки диапазона элементами последовательно­ сти: Объект(Диапазон, Тип)

Автофильтр - реализует запрос на фильтрацию данных:

Объект.AutoFilter (Поле, Условие 1, Оператор, Условие2)

Расширенный фильтр: Объект. AdvancedFilter (Действие, Диапазон Критериев, Диапазон Ре­ зультата, Уникальность)

Консолидация - объединение данных из не­ скольких диапазонов в итоговую таблицу: Объ­ ект. Consolidate (Массив Исходных Диапазонов, Функция, По_расположению, Покатегориям, СвязьсИсходными Данными)

Поиск ячейки со специфицированной информа­ цией: 06beKT.Find (Элемент Поиска, Начальная Ячейка, Область Поиска, Часть, СтрокиСтолбцы, Направление Поиска)

Подбор параметра, являющегося решением уравнения с одной неизвестной: Объект. GoalSeek (Значение Левой Части, Ссылканаячейкуспараметром)

Сортировка в лексикографическом порядке по возрастанию или по убыванию: Объект.Sort (Поле1, Порядок1, Поле2, Порядок2, ПолеЗ, ПорядокЗ, Заголовок, Пользовательский Поря­ док, Регистр, Строкистолбцы)

Добавление промежуточных итогов в список данных: Объект. Subtotal (Поле, Функция, Мас­ сив Полей Вычисления, Замещение, Разрыв Страницы, Вывод)

Программирование

385

8.3.4.ЭЛЕМЕНТЫ УПРАВЛЕНИЯ

Спомощью встроенного в VBA набора элементов управле­ ния и редактора форм создается пользовательский интерфейс, удовлетворяющий требованиям Windows. Элементы управления являются объектами, поэтому, как и любые объекты, они имеют свойства, методы и события. Общими для большинства элемен­ тов управления являются следующие методы:

Метод

Действие

Drag

Обрабатывает операции Перетащить и Опус­

Move

тить

Отвечает на запросы программы по перемеще­

SetFocus

нию объекта

Передает фокус объекту, определенному в вы­

Zorder

зове метода

Определяет способ появления объекта впереди

 

или позади других объектов

Объекты могут реагировать на события. Различают два ос­ новных типа событий: инициируемые пользователем и генерируе­ мые системой.

События, инициируемые пользователем, возникают в резуль­ тате его действий (нажатие клавиши, щелчки кнопками мыши). Но есть события, являющиеся следствием действий пользователя. Например, когда пользователь щелкает в поле текста, чтобы при­ ступить к редактированию, для объекта TextBox вызывается со­ бытие Click. Но вместе с ним вызывается еще несколько собы­ тий: GotFocus (Получить фокус) для TextBox и LostFocus (Поте­ ря фокуса) - для соответствующего элемента управления.

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

Каждый объект генерирует свои события. Некоторые собы­ тия, например Click, являются общими для многих типов элемен­ тов управления, хотя событие Click для формы отличается от со­ бытия Click для кнопки команды.

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

386

Глава 8

свойств может вызвать наступление событий. Например, исполь­ зование метода Move (переместить) приводит к изменению свойств Left и Тор, определяющих положение объекта относительно вер­ хнего левого угла формы. Изменение свойств Heightили Widthформы с помощью кода вызывает событие Resize формы и т.д.

Система Windows автоматически распознает события и при каждом событии посылает программе сообщение. Программа должна интерпретировать это сообщение, т.е. определить, какое событие стоит за этим сообщением, и выполнить соответствую­ щие действия.

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

Режим конструктора Свойства

Флажок

Checkbox

Поле

TextBox

Кнопка

CommandButton

Переключатель

OptionButton

Список

ListBox

Поле со списком

ComboBox

Выключатель

ToggleButton

Счетчик

SpinButton

Полоса прокрутки

ScrollBar

Надпись

Label

Рисунок

Image

Рис. 8.10. Панель Элементы управления

\ Microsoft Excel - Книга1

Э

•о

 

о

 

•и

 

ш

 

S

 

г

 

S

 

о

 

ffl

 

fi)

 

X

 

s

 

(D

Рис. 8.11. Пример установки элемента управления CommandButton

со

оо

388

Глава 8

Для создания элементов управления на рабочем листе служит режим конструктора, который активизируется щелчком по кноп­ ке Режим конструктора. В этом режиме можно добавлять и видо­ изменять элементы управления. После установки элементов ре­ жим конструктора должен быть отключен повторным щелчком по кнопке Режим конструктора.

Чтобы задать свойства элемента управления, необходимо вы­ делить элемент управления и щелкнуть по кнопке Свойства Па­ нели инструментов (рис. 8.11).

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

Свойство

 

Описание

Name

Имя элемента управления

Caption

Надпись, отображаемая на элементе управления

AutoSize

True (False) -

устанавливает (запрещает) режим

 

автоматического изменения размеров элементов

Visible

управления

 

True (False) - элемент отображается (не отобра­

Enabled

жается) при выполнении программы

True (False) -

разрешает (не разрешает) ручное

Height, Width

управление элементом управления

Устанавливает размеры объекта (высоту и ши­

Left, Top

рину)

 

Устанавливает координаты левого верхнего уг­

ControlTipText

ла элемента управления относительно формы

Устанавливает текст в окне всплывающей под­

BackColor,

сказки, связанной с элементом управления

Устанавливает цвет заднего и переднего плана

ForeColor,

элемента управления, а также цвет границы

BorderColor

Устанавливает тип заднего фона

BackStyle

BorderStyle

Устанавливает тип границы

SpecialEffect

To же

 

Picture

Помещает картинку на элемент управления

Tag

Используется

для хранения дополнительной

 

информации об элементе управления

Программирование

389

Метод

Действия

Add

Добавляет элемент во время выполнения

 

программы

Move

Перемещает элемент управления

SetFocus

Устанавливает фокус на вызвавшем

 

этот метод элементе

Zorder

Помещает объект до или после всех

 

пересекающихся с ним объектов

Событие

Когда происходит

Click

Когда пользователь выбирает элемент

 

управления щелчком мыши

DblClick

Когда пользователь выбирает

 

элемент правления двойным

 

щелчком мыши

KeyPress

Когда пользователь нажимает любую

 

клавишу, кроме функциональных,

 

на клавиатуре

Change

При изменении значения элемента

 

управления

GotFocus,

Когда элемент управления получает или

LostFocus

теряет фокус

Error

Когда возникает ошибка

8.3.5. ПОЛЬЗОВАТЕЛЬСКАЯ ФОРМА USERFORM

Пользовательская форма дает возможность создавать диало­ говые окна приложений. Она создается после запуска редактора VBA командой меню Вставить/UserForm. В пользовательской форме размещаются элементы управления, необходимые для уп­ равления приложением. Пользовательская форма, как и другие объекты, имеет свойства и события. Наиболее часто используе­ мые свойства объекта UserForm приведены ниже.

390

Глава

Свойство

Описание

Name

Возвращает имя пользовательской

 

формы

Caption

Возвращает текст, отображаемый в

 

строке заголовка формы

BackColor

Возвращает цвет фона формы

Borderstyle

Устанавливает тип границ

Picture

Указывает рисунок, отображаемый как

 

фон формы

Left и Top

Возвращает положение верхнего левого угла

 

формы в пунктах

Height и Width

Возвращает высоту и ширину формы

 

в пунктах

StartUpPosition

Возвращает значение, определяющее

 

положение формы на экране при

 

ее первом отображении

Наиболее часто используемые методы объекта UserForm представлены ниже.

Метод

Описание

Show

Отображает форму на экране

Hide

Закрывает форму

Move

Изменяет положение и размер формы

PrintForm

Печатает изображение формы

Основные события объекта UserForm описаны ниже.

Событие

Описание

Initialize

Происходит при отображении формы

 

на экране. Обычно процедуру обработки

 

этого события используют для

 

инициализации элементов

 

формы

Terminate

Происходит при закрытии формы,

 

когда из памяти удаляются все ссылки

 

на форму и она прекращает свое

 

существование