Полная и неявная ссылка на объект
Полная ссылка на объект состоит из ряда имен вложенных последовательно друг в друга объектов. Разделителями имен объектов в этом ряду являются точки, ряд начинается с объекта Application и заканчивается именем самого объекта. Например, полная ссылка на ячейку А1 рабочего листа Продажи рабочей книги с именем Архив имеет вид:
Application.Workbooks("Архив").Worksheets("Продажи").Range("Al")
Приводить каждый раз полную ссылку на объект совершенно не обязательно. Обычно достаточно ограничиться только неявной ссылкой на объект. В неявной ссылке, в отличие от полной, объекты, которые активны в данный момент, как правило, можно опускать. В рассмотренном случае, если ссылка на ячейку А1 дана в программе, выполняемой в среде Excel, то ссылка на объект Application может быть опущена, т.е. достаточно привести относительную ссылку:
Workbooks("Архив").Worksheets("Продажи").Range("Al")
Если в этом примере ссылки рабочая книга Архив является активной, то ссылку можно еще сократить:
Worksheets("Продажи").Range("Al")
Если и рабочий лист Продажи активен, то в относительной ссылке вполне достаточно ограничиться упоминанием только диапазона А1:
Range("Al")
Основные объекты VBA
Объект Application (приложение) является главным в иерархии объектов Excel и представляет само приложение Excel. Он имеет более 120 свойств и методов и методов. Эти свойства и методы предназначены для установки общих параметров приложения Excel. Кроме того, объект Application позволяет вызывать более 400 встроенных функций рабочего листа при помощи конструкции вида:
Application.ФункцияРабочегоЛиста (Аргументы)
Например, для определения постоянных периодических платежей при постоянной процентной ставке можно воспользоваться следующей функцией:
Application.Pmt (Аргументы)
Свойства объекта Application
ActiveWorkbook
| Возвращает активный объект: рабочую книгу, лист, ячейку, диаграмму диалоговое окно. Свойство ActiveCell содержится в ActiveSheet, а свойства ActiveChart и ActiveDialog в ActiveWorkbook.
Например:
ActiveCell.Value = “Привет!”
Здесь в активную ячейку вводится фраза Привет!
| ActiveSheet
| ActiveCell
| ActiveChart
| ActiveDialog
| ThisWorkbook
| Возвращает рабочую книгу, содержащую выполняющийся в данный момент макрос.
| Calculation
| Устанавливает режим вычислений
| Caption
| Возвращает текст в строке имени главного окна Excel. Установка свойства равным Empty возвращает заголовок, используемый по умолчанию
| DisplayAlerts
| Значения: True – отображаются встроенные предупреждения о работе программы, False – не отображаются предупреждения
| DisplayFormulaBar
| Значения: True – строка формул выводится в окне Excel, False – не выводится
| DisplayScrollBars
| Значения: True – полоса прокрутки выводится в окне Excel, False – полосы прокрутки не отображаются
| Height
| Высота приложения в пунктах
| Width
| Ширина приложения в пунктах
| Right
| Расстояние в пунктах от правой границы окна приложения до правого края окна
| Left
| Расстояние в пунктах от левой границы окна приложения до левого края окна
| Top
| Расстояние в пунктах от верхней границы приложения
| WindowState
| Устанавливает размер окна
|
Методы объекта Application
Calculate
| Вызывает принудительное вычисление во всех открытых рабочих книгах.
| Run
| Запускает на выполнение программу или макрос.
| OnKey
| Устанавливает сочетание клавиш для выполнение выбранной процедуры.
OnKey(Key, Procedure)
| Quit
| Закрывает приложение.
| OnTime
| Назначает выполнение процедуры на определенное время.
|
События объекта Application
NewWorkbook
| При создании новой рабочей книги
| WorkbookActivate
| При активизации рабочей книги
| WorkbookBeforeClose
| Перед закрытием рабочей книги
| WorkbookBeforePrint
| Перед печатью рабочей книги.
| WorkbookBeforeSave
| Перед сохранением рабочей книги.
| WorkbookNewSheet
| При добавлении нового листа
| WorkbookOpen
| При открытии рабочей книги
|
Объект Workbook (книга)
Свойства объекта Workbook
ActiveSheet
| Возвращает активный лист книги.
| ActiveDialog
| Возвращает активное диалоговое окно
| ActiveChart
| Возвращает активную диаграмму
Например: MsgBox “Название диаграммы” & ActiveChart.Name
выводит в диалоговом окне имя активной диаграммы
| Saved
| True – если не производились изменения в документе со времени его последнего сохранения, False – в противном случае. Например:
If WorkBook.Saved=True Then
MsgBox “ удачно сохранились! “
End If
| WriteReserved
| True – если книгу закрыть для записи, False – в противном случае
|
Методы объекта Workbook
Activate
| Активизирует рабочую книгу
| Add
| Создает новую книгу
| Protect
| Защищает рабочую книгу от внесения в неё изменений.
Protect(Password, Structure, Windows)
Например: ActiveWorkbook.Protect Password:= “Не влезай!”
| UnProtect
| Снятие защиты с листа
UnProtect(Password)
| Close
| Закрытие рабочей книги
| Open
| Открытие существующей книги
| Save
| Сохранение рабочей книги
| SaveAs
| Сохранение книги с другими параметрами
| PrintPreview
| Предварительный просмотр
|
События объекта Workbook
BeforeClose
| При закрытии книги
| BeforePrint
| Перед печатью рабочей книги
| BeforeSave
| Перед сохранением рабочей книги
| NewSheet
| При добавлении нового листа.
| Open
| При открытии рабочей книги.
| SheetActivate
| При активизации любого рабочего листа.
| SheetDeactivate
| Когда рабочий лист теряет фокус.
|
Объект Worksheet (лист)
Свойства объекта Worksheet
Name
| Возвращает имя рабочего листа.
| Visible
| Отображает «видимость» или «невидимость» листа (True, False – соответственно)
| ActiveCell
| Возвращает активную ячейку активного листа.
| StandartHeight
| Возвращает стандартную высоту всех строк рабочего листа
| UsedRange
| Возвращает диапазон (объект Range), который содержит данные.
| Union
| Возвращает диапазон, являющийся объединением нескольких диапазонов.
|
Методы Worksheet
Activate
| Активизирует указанный рабочий лист. Worksheets(1).Activate
| Add
| Создает новый рабочий лист
Add(Before, After, Count, Type)
| Delete
| Удаляет рабочий лист
| Protect
| Защищает рабочий лист от внесения в него изменений
| Unprotect
| Снятие защиты с рабочего листа
| Copy
| Копирование рабочего листа в другое место
Copy (Before, After). Допустимо использование только одного аргумента
| Move
| Перемещение рабочего листа в другое место
| Evaluate
| Преобразует выражение в объект или значение. Используется при вводе формул и ячеек из диалоговых окон
|
Объекты Range (диапазон)
При работе с объектом Range необходимо помнить, как в Excel ссылаются на ячейку рабочего листа (см. относительные и абсолютные ссылки).
Так как ячейка является частным случаем диапазона, состоящим только из единственной ячейки, объект Range также позволяет работать с ней. Объект Cells(ячейки) – это альтернативный способ работы с ячейкой. Например, ячейка A2 как объект описывается Range(“A2”) или Cells(1,2).
Свойства объекта Range
Value
| Возвращает значение из ячейки или в ячейки диапазона. Например: h=Range (“C1”).Value
| Name
| Возвращает имя диапазона.
| WrapText
| Позволяет переносить текст при вводе в диапазон.
With Range (“F3”)
.Value= “Привет всем!”
.WrapText=True
End With
| Comment
| Добавление комментария к данным в ячейки.
| Font
| Возвращает объект Шрифт с указанными параметрами.
| Formula
| Возвращает формулу в формате А1.
| Text
| Возвращает содержание диапазона в текстовом формате.
|
Наиболее часто используемые методы Range
Clear
| Очистка диапазона.
Range (“A1:B1).Clear
| Copy
| Копирует диапазон в другой или буфер обмена.
| Cut
| Копирует диапазон в другой или буфер обмена с удалением.
| Delete
| Удаляет диапазон.
| Insert
| Вставка ячейки или диапазона ячеек.
WorkSheets (“Лист1”).Rows(4).Insert
| Select
| Выделение диапазона.
| Заполнение произвольного диапазона данных по столбцам можно осуществить следующим образом для перебора адреса ячейки с А3 по А5:
For i = 1 To 3
A = "A" & i + 2
Range([A]).Value = InputBox("Введи данные " & i)
Next
Задания на лабораторную работу
Задание 1.Создать приложение в VBA, позволяющее определить и вывести в ячейки Excel количество лет, кварталов, месяцев, недель и дней, прошедших между двумя датами.
1. Создать приложение в VBA, позволяющее определить была ли сохранена открытая рабочая книга.
Задание 2*.
Создать приложение в VBA, позволяющее произвести расчет амортизации стандартным и методом k кратного учета и выводить данные на лист Excel.
Лабораторная работа №7 Автоматизация работы в MS Word с помощью Visual Basic for Application
Тема и цель работы
Знакомство с основными объектами VBA Microsoft Word . На практике рассмотреть основные операции над объектами Application, Document, Selection, Range, Bookmark
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|