Лекция17(рус).ppt
- Количество слайдов: 49
ТЕМА 10: ОСНОВЫ ОФИСНОГО ПРОГРАММИРОВАНИЯ Лекция 17 LOGO
Лекция 16 Аннотация 10. 3. Объекты VBA EXCEL 10. 4. Управление файлами с помощью VBA 10. 5. Выполнение макроса
10. 3 Объекты VBA EXCEL Объект - основной элемент VBA Excel. В VBA объектами является рабочая книга, рабочий лист и его составные. Свойствами описываются характеристики объектов. Например, размер и цвет шрифта, положение формы на экране или состояние объекта (доступность, видимость). Действия, которые выполняются над объектами, называются методами.
10. 3 Объект Application (приложение) занимает самый верхний уровень в иерархии объектов Excel, то есть объект Application – это сама программа Excel. Объект Application руководит: 1) налаживанием параметров Excel, 2) вмонтированными функциями Excel. Объект Application имеет большое количество свойств (больше 100) и методов (около 50).
10. 3 Свойства объекта Application Название свойства Active. Workbook, Active. Sheet, Active. Cell, Active. Chart This Workbook Caption Height, Width Left, Right Содержание свойства Возвращает активный объект: рабочую книгу, лист, ячейку, диаграмму Возвращает рабочую книгу, которая содержит макрос, который выполняется в данный момент Текст в строке названия главного окна Excel Ширина и высота приложения Расстояние в пунктах от левого (правого) ограничения окна приложения до левого (правого) края экрана
10. 3 Название метода Run (Макрос) Методы объекта Application Содержание метода Запускает на выполнение подпрограмму или макрос Wait (Время) Временно приостанавливает работу приложения без остановки работы других программ оп. Кеу (Клавиша, Процедура) Устанавливает выполнение специфической процедуры при нажатии заданной комбинации клавиш оп. Тіте (Время) Назначает выполнение процедуры на определённое время Quit Закрывает приложение
10. 3 Свойства объекта Work. Book (файл рабочей книги) Название свойства Содержание свойства Active. Workbook, Active. Sheet, Active. Cell, Active. Chart Возвращает активный объект: рабочую книгу, лист, ячейку, диаграмму Worksheets Семейство всех рабочих листов рабочей книги Charts Семейство всех диаграмм рабочей книги Count Возвращает количество объектов семейства Work. Books
10. 3 Название метода Методы объекта Work. Book Содержание метода Activate Активизирует рабочую книгу Add Создаёт новый объект семейства Work. Books Close Закрытие рабочей книги Open Открытие существующей рабочей книги Save Сохранение рабочей книги Print. Preview Предварительный просмотр Prin. Out Печать рабочей книги
10. 3 Свойства объекта Worksheet (рабочий лист) Название свойства Name Visible Used. Range Active. Cell Содержание свойства Название рабочего листа Указывает, будет ли лист отображаться на экран Возвращает диапазон рабочего листа, заполненного некоторыми данными (непустой) Возвращает активную ячейку активного рабочего листа
10. 3 Методы объекта Worksheet Название Содержание метода Activate Активизирует рабочий лист Add Создаёт новый рабочий лист Delete Уничтожает рабочий лист
10. 3 Объект Range (ячейки) Объект Range является одним из ключевых объектов VBA, позволяющий работать с диапазоном или отдельной ячейкой. Два способа задания имени ячеек: • формат А 1 - имя столбца и номер строки. • формат R 1 C 1 - индекс строки и индекс столбца. Задания диапазона ячеек : Range ("n : т"), где n - верхняя левая ячейка диапазона, т - нижняя правая ячейка диапазона.
10. 3 Свойства объекта Range Название свойства Value Name Count Comment Formula Text Orientation Содержание свойства Значение ячейки Название диапазона Количество объектов в диапазоне Комментарий, связанный с левым верхним углом диапазона при отображении на экране Шрифт ячейки Формула, которая содержится в ячейке Содержание диапазона в текстовом формате Ориентация текста в ячейке
10. 3 Название метода Address Auto Fit Clear Copy Cut Delete Select Методы объекта Range Содержание метода Адрес диапазона (ячейки) Автозаполнение диапазона ячеек Очистка диапазона (ячейки) Копирование диапазона (ячейки) Удаление содержимого диапазона (ячейки) с перемещением в буфер обмена Удаление содержимого диапазона (ячейки) Выделение диапазона
10. 3 Объект Command. Bar (Командная панель) В Excel насчитывается несколько командных панелей (панели инструментов, строка меню, контекстное меню), которые образуют набор Command. Bars (Командные панели).
10. 3 Объект Command. Bar (Командная панель) Элементы управления семьи Command. Bar. Controls имеют следующее назначение: • Command. Bar. Button – для создания кнопки или пункта меню; • Command. Bar. Combo. Box – для создания поля введения или поля со списком; • Command. Bar. Pop. Up – для создания пункта меню, который раскрывается.
10. 3 Свойства объекта Command. Bar Название Содержание свойства Visible Определяет видимость строки панели команд. Например, спрятать панель инструментов Форматирования: Application. Command. Bars(“Formatting”). Visible=False. Обновить панель Форматирования можно командой Application. Command. Bars(“Formatting”). Visible=True Controls Активизирует семейство Command. Bar. Controls, в состав которого входят все элементы управления конкретной панели.
10. 3 Свойства объекта Command. Bar Название Содержание свойства Position Определяет место расположения панели команд, которая создаётся. Допустимые значения: mso. Bar. Left (привязка строки меню к левой границе окна приложения), mso. Bar. Top (привязка строки меню к верхней границе окна приложения), mso. Bar. Right (привязка строки меню к правой границе окна приложения), mso. Bar. Button (привязка строки меню к нижней границе окна приложения),
10. 3 Свойства объекта Command. Bar Название Содержание свойства Position Определяет место расположения панели команд, которая создаётся. Допустимые значения: mso. Bar. Floating (свободное расположение строки меню на экране) mso. Bar. Popup (определяет буде ли панель команд контекстным меню). Например, Application. Command. Bars. Add (Name: =“Моя. Панель”, Position: =mso. Bar. Top, Menu. Bar: =False, Temporary: =True)
10. 3 Add Методы объекта Command. Bar Создаёт новую панель команд и добавляет её к семейству Command. Bars. Синтаксис метода: Add(Name, Position, Menu. Bar, Temporary) Name – Имя панели, которая создаётся Position – определяет место расположения панели команд Menu. Bar – возможные значения: True (панель, которая создаётся, заменяет активную панель меню); False (активная панель не удаляется) Temporary – возможные значения: True (панель, которая создана, удаляется во время закрытия Excel); False (активная панель не удаляется)
10. 3 Delete Reset Методы объекта Command. Bar Удаляет панель команд Восстанавливает вмонтированную панель инструментов
10. 3 Конструкция оператора With Процедура форматирования диапазона ячеек: Public Sub Format() Range("B 2: D 15"). Number. Format = "#, ##0. 00" Range("B 2: D 15"). Font. Name = "MS San Serif" Range("B 2: D 15"). Font. Style = Regular Range("B 2: D 15"). Font. Size = 13 Range("B 2: D 15"). Font. Strikethrough = False Range("B 2: D 15"). Font. Superscript = False Range("B 2: D 15"). Font. Subscript = True Range("B 2: D 15"). Font. Outline. Font = True Range("B 2: D 15"). Font. Shadow = True Range("B 2: D 15"). Font. Underline = xl. Underline. Style. None Range("B 2: D 15"). Font. Color. Index = xl. Automatic End Sub
10. 3 Конструкция оператора With Чтобы при введении кода процедуры не набирать несколько раз Range("B 2: D 15"), используют оператор With, который “привязывает” свойства или методы к объекту. Оператор With имеет следующий синтаксис: With объект Операторы End With Листинг представленный ниже демонстрирует тот же код процедуры, но с использованием оператора With, который сначала “привязывает” к объекту Range("B 2: D 15") свойство Number. Format = "#, ##0. 00", а потом свойство Font через другой оператор With “привязывается” к объекту Range("B 2: D 15"). Операторы With можно вкладывать один в другого (допускается до семи вложений).
10. 3 Конструкция оператора With Процедура форматирования диапазона ячеек с использованием оператора With: Public Sub Format() With Range("B 2: D 15“). Number. Format = "#, ##0. 00" With. Font. Name = "MS San Serif”. Font. Style = Regular . Size = 13. Strikethrough = False. Superscript = False . Subscript = True. Outline. Font = True. Shadow = True . Underline = xl. Underline. Style. None . Color. Index = xl. Automatic End With End Sub
10. 3 Конструкция оператора For Each Если оператор With используется для выполнения нескольких действий для одного объекта, то оператор For Each используется для выполнения одного и того же набора действий для нескольких объектов. Оператор For Each, как правило, использовать для просмотра элементов массива или коллекции. Оператор For Each имеет следующий формат: For Each элемент In коллекция (массив). . Next элемент Элемент - это идентификатор переменнойинтерпретатора; коллекция - идентификатор коллекции или массива. В коде процедуры Коллекции пересматриваются листы активной книги и на экран поочередно выводится № листа и его имя.
10. 3 Пример использования оператора For Each. Public Sub Коллекции () Dim Лист As Worksheet Dim Nomer As Integer Nomer = 0 For Each Лист In Active. Workbook. Worksheets Nomer = Nomer + 1 Msg. Box ("Имя листа: ") & Nomer & " " & Лист. Name Next Лист End Sub
10. 4 Управление файлами с помощью VBA Управление файлами включает действия, такие как копирование файлов, удаление неиспользуемых файлов для освобождения области дисковой памяти, перемещения файлов с одного диска на других и создание или удаление каталогов диска. Управление файлами включает также такие виды обработки, как просмотр списка файлов в папке для определения размера файла или даты и времени, когда этот файл был модифицирован последний раз.
Функции, операторы и методы управления файлами 10. 4 Имя Ch. Dir Ch. Drive Cur. Dir File. Copy Категория Назначение Оператор Изменяет текущий каталог Оператор Изменяет текущий драйвер диска Функция Возвращает текущий каталог Возвращает имя каталога или файла, которое совпадает с определённым именем файла, Функция передающимся как строковый аргумент. Предназначена для нахождения одного или нескольких файлов на диске. Оператор Копирует файл
10. 4 Имя Функции, операторы и методы управления файлами Категория File. Date. Time Функция File. Len Функция Get. Attr Функция Get. Open. File. Name Метод Назначение Возвращает значение типа Date, который содержит дату и время, когда это файл был изменён последний раз. Возвращает длину файла в байтах Возвращает число, которое представляет объединенные атрибуты файла или каталога диска, такие как System, Hidden и так далее Отображает Excel-диалоговое окно Open и возвращает имя файла, выбранное пользователем. В Word нет.
Функции, операторы и методы управления файлами 10. 4 Имя Категория Get. Save. As. File. Name Метод Kill Mk. Dir Оператор Name Оператор Rm. Dir Set. Attr Оператор Назначение Отображает Excel-диалоговое окно Save As и возвращает имя файла, выбранное пользователем. В Word нет. Удаляет файлы с драйвера диска. Создаёт каталог диска. Переименовывает или перемещает файл. Удаляет каталог диска. Устанавливает атрибуты файлу.
10. 4 Управление файлами с помощью VBA Операторы, функции и объектные методы, имеющиеся в VBA, делятся на шесть различных функциональных частей: 1. Получение или изменение атрибутов файла; 2. Выборка или нахождение имен файлов; 3. Получение или изменение текущего драйвера диска и папки или создание и удаление папок диска; 4. Копирование и удаление файлов; 5. Переименование и перемещение файлов; 6. Получение информации о файлах, такой как длина файла, дата и время, когда этот файл был модифицирован последним.
10. 5 Выполнение макроса И в Word, и в Excel макрос запускается выбором команд «Вид/Макросы» , или « Разработчик/Макросы» , либо Alt+F 8. После того как макрос записан, его можно выполнить. При выполнении макроса Word или Excel следуют всем инструкциям, записанным в макросе.
10. 5 Выполнение макроса Диалоговые окна для запуска макросов в Word и Excel практически идентичны - надо выбрать название макроса и щелкнуть кнопку "Выполнить".
10. 5 Выполнение макроса Следует помнить, что перед тем, как запустить макрос на выполнение, должны быть выполнены стартовые условия. В нашем случае - выделенный фрагмент текста в Word или блоке ячеек в Excel. Если в процессе записи макроса ему были присвоены "горячие" клавиши или кнопки на панели инструментов, то данный макрос может быть запущен нажатием соответствующей клавиши или соответствующей кнопкой на панели инструментов.
10. 5 Написание макроса в Word Выберите "Разработчик-Макрос-редактора Visual Basic" или (Alt +F 11). Поместите курсор в окно ввода кода макроса и введите следующий текст: Первая и третья строки заголовок и окончание процедуры. My. Macros - имя макроса, под которым он будет опознан системой. Вторая строка - функция вывода диалогового окна с текстом "Простой макрос".
10. 5 Написание макроса в Word Теперь можно выполнить контрольный запуск макроса, не выходя из редактора. Выберите Run | Run Sub / User. Form. Результат будет на экране. Для запуска этого макроса непосредственно из Word, покиньте Visual Basic Editor (Alt+Q). После того, как окажетесь снова в текстовом редакторе Word, выберите "Разработчик-Макросы-Выполнить" (Alt+F 8) результат получится аналогичным предыдущему.
10. 5 Код макроса При записи макроса в Word или Excel рекордер сохраняет последовательность текстовых инструкций, описывающих на языке программирования VBA различные действия, выполняемые пользователем, когда рекордер включен. Это текстовое описание команд называется исходным кодом для этого макроса. Позже, когда макрос запускается на выполнение, VBA считывает записанные в исходном коде инструкции и выполняет каждую последовательно, дублируя таким образом действия, которые выполнялись пользователем при записи макроса.
10. 5 Исходный код макроса «Выделенный. Текст» (Word)
10. 5 Исходный код макроса «Arial. Bold 12» (Excel)
10. 5 Этапы записи макроса: • Задание стартовых условий для макроса; • Запуск макрорекордера и присвоение имени макроса; • Выполнение действий, которые необходимо записать для использования позже; • Остановка макрорекордера.
10. 5 Задание стартовых условий для макроса Перед записью какого-либо макроса необходимо задать условия, при которых данный макрос будет запускаться позже. Предположим, что необходимо создать макрос, применять определенный шрифт, размер и цвет шрифта в любом выбранном тексте документа. Стартовыми условиями для этого макроса будут открытый документ с выделенным блоком текста. Необходимо задать стартовые условия для макроса перед тем, как запускать макрорекордер, потому что макрорекордер будет записывать все действия, которые выполняются.
10. 5 Запуск макрорекордера и присвоение имени макросу Запуск макроса можно осуществить пункт меню "Разработчик – Запись макроса". В диалоговом окне необходимо ввести имя макроса и выбрать место для его хранения. Диалоговое окно позволяет по выбору назначать горячую клавишу для запуска нового макроса или добавлять новый макрос как кнопку на панели инструментов.
10. 5 Запуск макрорекордера и присвоение имени макросу Имена макросов должны начинаться с буквы, хотя они могут содержать числа. Имена макросов не могут включать пробелы или знаки препинания. Текстовое окно "Имя макроса". По умолчанию VBA выбирает имя макроса, которое состоит из слова "Макрос", за которым следует номер, соответствующий числу макросов, которые уже созданы в этом сеансе работы. Следует вводить макросам имена, которые несут определенную информацию о том, что выполняют макросы.
10. 5 Запуск макрорекордера и присвоение имени макросу Текстовое окно "Описание". Данная информация макросом непосредственно не используется. Это окно предназначено для ввода некоторых замечаний и комментариев о том, что выполняет данный макрос. Раскрывающийся список, "Макрос доступен для". Этот список позволяет выбрать, где следует сохранить записанный макрос. Макросы, записанные в Word, всегда хранятся в файле документа (. docх) или в файле шаблона документа (. dotm). Макросы, записываемые в Excel, всегда сохраняются в файле рабочей книги (. xlsx).
10. 5 Запись макроса в Excel Записать макрос, который выбирает полужирный шрифт Arial 12 -го размера и применяет это форматирование к любой ячейке или диапазону ячеек текущего выделенного фрагмента. Задача стартовых условий Поскольку необходимо, чтобы макрос работал с любой выделенной ячейкой или диапазоном ячеек, стартовыми условиями для этого макроса является открытая рабочая книга с выделенным диапазоном ячеек в активном рабочем листе.
10. 5 Запись макроса в Excel Назначение имени и сохранение макроса Выберите команду "Разработчик-Запись макроса"; • В поле "Имя макроса" как имя макроса ввести - Arial. Bold 12; • В поле "Описание" добавить следующий текст: Форматирует выделенные ячейки Arial, Bold, 12; • Список "Сохранить в" следует использовать для выбора места, в котором будет сохранен записанный макрос. Доступными вариантами являются: "Личная книга макросов", "Новая книга", "Эта книга". Поскольку необходимо, чтобы этот макрос был доступен во всех рабочих книгах, надо выбрать "Личная книга макросов"; • Если будущий макрос планируется использовать достаточно часто, можно назначить для его запуска горячую клавишу; • Для начала записи макроса необходимо нажать кнопку ОК.
10. 5 Запись макроса в Excel
10. 5 Запись макроса в Excel Запись действий О процессе записи макроса свидетельствует наличие панели "Остановить запись" при этом, в левом нижнем углу окна книги Excel появляется надпись «Запись» По умолчанию панель "Остановить запись" в Excel содержит две командные кнопки.
10. 5 Запись макроса в Excel Для записи нашего макроса необходимо выполнить следующие действия (после нажатия кнопки "ОК" в окне "Запись макроса"): • Из выпадающего списка "Шрифт" вкладки "Главная" выбрать шрифт Arial; • Из выпадающего списка "Размер шрифта" той же вкладки выбрать 12 -й кегль; • Нажать кнопку "Ж" выбора начертания шрифта. После этого макрорекордер необходимо остановить, нажав кнопку "Стоп" на панели "Остановить запись". Новый макрос в Excel теперь закончен и готов к выполнению.
LOGO


