По Excel написано немало книг. Но книга, которую вы держите в своих руках, является особенной — в ней разработка приложений электронных таблиц рассматривается в широком контексте. VBA — это всего лишь один из компонентов среды разработки пользовательских приложений, хотя и довольно существенный. Данная книга поможет вам разобраться в тонкостях разработки приложений с помощью VBA. В ней описаны многочисленные средства языка VBA, его возможности и среда использования. Вначале вашему вниманию будет предложен обзор возможностей программы, далее вы перейдете к определению концепций VBA-программирования, а затем познакомитесь с самим языком. Если вы начинающий программист на VBA, то в данном издании найдете всю необходимую информацию, которая потребуется для дальнейшей работы. Если вы уже обладаете завидным опытом работы с VBA, то эта книга обогатит и приумножит ваши знания, пополнив их новыми методиками и примерами из реальной жизни.
На русском языке.
Качество:
хорошее (с примерами файлов)
1 online resource (xxxi, 1144 pages) :
Annotation
Print version record
About the Authors; Acknowledgments; Introduction; Chapter 1: Primer in Excel VBA; Chapter 2: Programming in the VBE; Chapter 3: The Application Object; Chapter 4: Object-Oriented Theory and VBA; Chapter 5: Event Procedures; Chapter 6: Class Modules; Chapter 7: Writing Bulletproof Code; Chapter 8: Debugging and Testing; Chapter 9: UserForms; Chapter 10: Adding Controls; Chapter 11: Data Access with ADO; Chapter 12: Creating and Using Add-ins; Chapter 13: Automation Addins and COM Addins; Summary; Chapter 14: Customizing the VBE; Chapter 15: Interacting with Other Office Applications
comment
Reviews
There are no reviews yet. Be the first one to
write a review.
153
Previews
2
Favorites
DOWNLOAD OPTIONS
No suitable files to display here.
14 day loan required to access EPUB and PDF files.
Uploaded by
station19.cebu
on March 28, 2019
Основы программирования на УВА |
187 |
Работа с процедурами УВА |
223 |
Создание функций |
255 |
Примеры и методы программирования на УВА |
283 |
Управление рабочими книгами и листами |
302 |
Функции полезные для использования в программах УВА |
310 |
Вызов функций тдолуз АР1 |
326 |
Работа с пользовательскими формами |
333 |
Использование пользовательских форм |
353 |
Примеры пользовательских форм |
383 |
Использование диалоговых окон ИзегРогт |
409 |
Совершенные методы программирования |
441 |
Введение
Всем нам приходится — кому реже, кому чаще — повторять одни и те же действия и операции в Excel. Любая офисная работа предполагает некую «рутинную составляющую» — одни и те же еженедельные отчеты, одни и те же действия по обработке поступивших данных, заполнение однообразных таблиц или бланков и т.д. Использование макросов и пользовательских функций позволяет автоматизировать эти операции, перекладывая монотонную однообразную работу на плечи Excel. Другим поводом для использования макросов в вашей работе может стать необходимость добавить в Microsoft Excel недостающие, но нужные вам функции. Например функцию сборки данных с разных листов на один итоговый лист, разнесения данных обратно, вывод суммы прописью и т.д.
Макрос — это запрограммированная последовательность действий (программа, процедура), записанная на языке программирования Visual Basic for Applications (VBA). Мы можем запускать макрос сколько угодно раз, заставляя Excel выполнять последовательность любых нужных нам действий, которые нам не хочется выполнять вручную.
В принципе, существует великое множество языков программирования (Pascal, Fortran, C++, C#, Java, ASP, PHP…), но для всех программ пакета Microsoft Office стандартом является именно встроенный язык VBA. Команды этого языка понимает любое офисное приложение, будь то Excel, Word, Outlook или Access.
Способ 1. Создание макросов в редакторе Visual Basic
Для ввода команд и формирования программы, т.е. создания макроса необходимо открыть специальное окно — редактор программ на VBA, встроенный в Microsoft Excel.
- В старых версиях (Excel 2003 и старше) для этого идем в меню Сервис — Макрос — Редактор Visual Basic (Toos — Macro — Visual Basic Editor).
- В новых версиях (Excel 2007 и новее) для этого нужно сначала отобразить вкладку Разработчик (Developer). Выбираем Файл — Параметры — Настройка ленты (File — Options — Customize Ribbon) и включаем в правой части окна флажок Разработчик (Developer). Теперь на появившейся вкладке нам будут доступны основные инструменты для работы с макросами, в том числе и нужная нам кнопка Редактор Visual Basic (Visual Basic Editor)
:
К сожалению, интерфейс редактора VBA и файлы справки не переводятся компанией Microsoft на русский язык, поэтому с английскими командами в меню и окнах придется смириться:
Макросы (т.е. наборы команд на языке VBA) хранятся в программных модулях. В любой книге Excel мы можем создать любое количество программных модулей и разместить там наши макросы. Один модуль может содержать любое количество макросов. Доступ ко всем модулям осуществляется с помощью окна Project Explorer в левом верхнем углу редактора (если его не видно, нажмите CTRL+R). Программные модули бывают нескольких типов для разных ситуаций:
- Обычные модули — используются в большинстве случаев, когда речь идет о макросах. Для создания такого модуля выберите в меню Insert — Module. В появившееся окно нового пустого модуля можно вводить команды на VBA, набирая их с клавиатуры или копируя их из другого модуля, с этого сайта или еще откуда нибудь:
- Модуль Эта книга — также виден в левом верхнем углу редактора Visual Basic в окне, которое называется Project Explorer. В этот модуль обычно записываются макросы, которые должны выполнятся при наступлении каких-либо событий в книге (открытие или сохранение книги, печать файла и т.п.):
- Модуль листа — доступен через Project Explorer и через контекстное меню листа, т.е. правой кнопкой мыши по ярлычку листа — команда Исходный текст (View Source). Сюда записывают макросы, которые должны выполняться при наступлении определенных событий на листе (изменение данных в ячейках, пересчет листа, копирование или удаление листа и т.д.)
Обычный макрос, введенный в стандартный модуль выглядит примерно так:
Давайте разберем приведенный выше в качестве примера макрос Zamena:
- Любой макрос должен начинаться с оператора Sub, за которым идет имя макроса и список аргументов (входных значений) в скобках. Если аргументов нет, то скобки надо оставить пустыми.
- Любой макрос должен заканчиваться оператором End Sub.
- Все, что находится между Sub и End Sub — тело макроса, т.е. команды, которые будут выполняться при запуске макроса. В данном случае макрос выделяет ячейку заливает выделенных диапазон (Selection) желтым цветом (код = 6) и затем проходит в цикле по всем ячейкам, заменяя формулы на значения. В конце выводится окно сообщения (MsgBox).
С ходу ясно, что вот так сразу, без предварительной подготовки и опыта в программировании вообще и на VBA в частности, сложновато будет сообразить какие именно команды и как надо вводить, чтобы макрос автоматически выполнял все действия, которые, например, Вы делаете для создания еженедельного отчета для руководства компании. Поэтому мы переходим ко второму способу создания макросов, а именно…
Способ 2. Запись макросов макрорекордером
Макрорекордер — это небольшая программа, встроенная в Excel, которая переводит любое действие пользователя на язык программирования VBA и записывает получившуюся команду в программный модуль. Если мы включим макрорекордер на запись, а затем начнем создавать свой еженедельный отчет, то макрорекордер начнет записывать команды вслед за каждым нашим действием и, в итоге, мы получим макрос создающий отчет как если бы он был написан программистом. Такой способ создания макросов не требует знаний пользователя о программировании и VBA и позволяет пользоваться макросами как неким аналогом видеозаписи: включил запись, выполнил операци, перемотал пленку и запустил выполнение тех же действий еще раз. Естественно у такого способа есть свои плюсы и минусы:
- Макрорекордер записывает только те действия, которые выполняются в пределах окна Microsoft Excel. Как только вы закрываете Excel или переключаетесь в другую программу — запись останавливается.
- Макрорекордер может записать только те действия, для которых есть команды меню или кнопки в Excel. Программист же может написать макрос, который делает то, что Excel никогда не умел (сортировку по цвету, например или что-то подобное).
- Если во время записи макроса макрорекордером вы ошиблись — ошибка будет записана. Однако смело можете давить на кнопку отмены последнего действия (Undo) — во время записи макроса макрорекордером она не просто возрвращает Вас в предыдущее состояние, но и стирает последнюю записанную команду на VBA.
Чтобы включить запись необходимо:
- в Excel 2003 и старше — выбрать в меню Сервис — Макрос — Начать запись (Tools — Macro — Record New Macro)
- в Excel 2007 и новее — нажать кнопку Запись макроса (Record macro) на вкладке Разработчик (Developer)
Затем необходимо настроить параметры записываемого макроса в окне Запись макроса:
- Имя макроса — подойдет любое имя на русском или английском языке. Имя должно начинаться с буквы и не содержать пробелов и знаков препинания.
- Сочетание клавиш — будет потом использоваться для быстрого запуска макроса. Если забудете сочетание или вообще его не введете, то макрос можно будет запустить через меню Сервис — Макрос — Макросы — Выполнить (Tools — Macro — Macros — Run) или с помощью кнопки Макросы (Macros) на вкладке Разработчик (Developer) или нажав ALT+F8.
- Сохранить в… — здесь задается место, куда будет сохранен текст макроса, т.е. набор команд на VBA из которых и состоит макрос.:
- Эта книга — макрос сохраняется в модуль текущей книги и, как следствие, будет выполнятся только пока эта книга открыта в Excel
- Новая книга — макрос сохраняется в шаблон, на основе которого создается любая новая пустая книга в Excel, т.е. макрос будет содержаться во всех новых книгах, создаваемых на данном компьютере начиная с текущего момента
- Личная книга макросов — это специальная книга Excel с именем Personal.xls, которая используется как хранилище макросов. Все макросы из Personal.xls загружаются в память при старте Excel и могут быть запущены в любой момент и в любой книге.
После включения записи и выполнения действий, которые необходимо записать, запись можно остановить командой Остановить запись (Stop Recording).
Запуск и редактирование макросов
Управление всеми доступными макросами производится в окне, которое можно открыть с помощью кнопки Макросы (Macros) на вкладке Разработчик (Developer) или — в старых версиях Excel — через меню Сервис — Макрос — Макросы (Tools — Macro — Macros):
- Любой выделенный в списке макрос можно запустить кнопкой Выполнить (Run).
- Кнопка Параметры (Options) позволяет посмотреть и отредактировать сочетание клавиш для быстрого запуска макроса.
- Кнопка Изменить (Edit) открывает редактор Visual Basic (см. выше) и позволяет просмотреть и отредактировать текст макроса на VBA.
Создание кнопки для запуска макросов
Чтобы не запоминать сочетание клавиш для запуска макроса, лучше создать кнопку и назначить ей нужный макрос. Кнопка может быть нескольких типов:
Кнопка на панели инструментов в Excel 2003 и старше
Откройте меню Сервис — Настройка (Tools — Customize) и перейдите на вкладку Команды (Commands). В категории Макросы легко найти веселый желтый «колобок» — Настраиваемую кнопку (Custom button):
Перетащите ее к себе на панель инструментов и затем щелкните по ней правой кнопкой мыши. В контекстом меню можно назначить кнопке макрос, выбрать другой значок и имя:
Кнопка на панели быстрого доступа в Excel 2007 и новее
Щелкните правой кнопкой мыши по панели быстрого доступа в левом верхнем углу окна Excel и выберите команду Настройка панели быстрого доступа (Customise Quick Access Toolbar):
Затем в открывшемся окне выберите категорию Макросы и при помощи кнопки Добавить (Add) перенесите выбранный макрос в правую половину окна, т.е. на панель быстрого доступа:
Кнопка на листе
Этот способ подходит для любой версии Excel. Мы добавим кнопку запуска макроса прямо на рабочий лист, как графический объект. Для этого:
- В Excel 2003 и старше — откройте панель инструментов Формы через меню Вид — Панели инструментов — Формы (View — Toolbars — Forms)
- В Excel 2007 и новее — откройте выпадающий список Вставить (Insert) на вкладке Разработчик (Developer)
Выберите объект Кнопка (Button):
Затем нарисуйте кнопку на листе, удерживая левую кнопку мыши. Автоматически появится окно, где нужно выбрать макрос, который должен запускаться при щелчке по нарисованной кнопке.
Создание пользовательских функций на VBA
Создание пользовательских функций или, как их иногда еще называют, UDF-функций (User Defined Functions) принципиально не отличается от создания макроса в обычном программном модуле. Разница только в том, что макрос выполняет последовательность действий с объектами книги (ячейками, формулами и значениями, листами, диаграммами и т.д.), а пользовательская функция — только с теми значениями, которые мы передадим ей как аргументы (исходные данные для расчета).
Чтобы создать пользовательскую функцию для расчета, например, налога на добавленную стоимость (НДС) откроем редактор VBA, добавим новый модуль через меню Insert — Module и введем туда текст нашей функции:
Обратите внимание, что в отличие от макросов функции имеют заголовок Function вместо Sub и непустой список аргументов (в нашем случае это Summa). После ввода кода наша функция становится доступна в обычном окне Мастера функций (Вставка — Функция) в категории Определенные пользователем (User Defined):
После выбора функции выделяем ячейки с аргументами (с суммой, для которой надо посчитать НДС) как в случае с обычной функцией:
Профессиональное программирование на VBA в Microsoft Office Excel 2003
Джон Уокенбах Excel 2003 Power Programming with VBA (Power Pack Series) Кол-во страниц: 800 |
Купить книгу: Книга в типографии |
Программа Excel позволяет решать разнообразные практические бизнес-задачи с помощью сводных таблиц
Данная книга поможет вам разобраться в тонкостях разработки приложений с помощью VBA. В ней описаны многочисленные средства языка VBA, его возможности и среда использования. Вначале вашему вниманию будет предложен обзор возможностей программы, далее вы перейдете к определению концепций VBA-программирования, а затем познакомитесь с самим языком. Если вы начинающий программист на VBA, то в данном издании вы найдете всю необходимую информацию, которая потребуется для дальнейшей работы. Если вы уже обладаете завидным опытом работы с VBA, то эта книга обогатит и приумножит ваши знания, пополнив их новыми методиками и примерами из реальной жизни.
Расскажи про книгу своим друзьям и коллегам:
Нравится
ISBN | 5-8459-0771-3 |
ISBN ENG | 0-7645-4072-6 |
Кол-во страниц | 800 |
Год выпуска | 2006 |
Формат | 70×100/16 |
Тип переплета | твердый переплет |
Тип бумаги | офсетная |
Серия | Power Pack |
Автор | Джон Уокенбах |
Название ориг. | Excel 2003 Power Programming with VBA (Power Pack Series) |
Автор ориг. | John Walkenbach |
Вас, возможно, заинтересуют следующие книги
Оглавление к книге Профессиональное программирование на VBA в Microsoft Office Excel 2003
Оглавление
Часть I. Введение в Excel 31
Глава 1. Excel 2003: исория программы 33
Глава 2. Вкратце об Excel 45
Глава 3. Особенности использования формул 67
Глава 4. Файлы Excel 87
Часть II. Разработка приложений Excel 105
Глава 5. Приложения электронных таблиц 107
Глава 6. Принципы разработки приложений электронных таблиц 119
Часть III. Visual Basic for Applications 139
Глава 7. Введение в Visual Basic for Applications 141
Глава 8. Основы программирования на VBA 187
Глава 9. Работа с процедурами VBA 223
Глава 10. Создание функций 255
Глава 11. Примеры и методы программирования на VBA 283
Часть IV. Работа с пользовательскими формами 333
Глава 12. Создание собственных диалоговых окон 335
Глава 13. Использование пользовательских форм 353
Глава 14. Примеры пользовательских форм 383
Глава 15. Использование диалоговых окон UserForm 409
Часть V. Совершенные методы программирования 441
Глава 16. Разработка утилит Excel с помощью VBA 443
Глава 17. Работа со сводными таблицами 457
Глава 18. Управление диаграммами 469
Глава 19. Концепция событий Excel 515
Глава 20. Взаимодействие с другими приложениями 543
Глава 21. Создание и использование надстроек 563
Часть VI. Разработка приложений 585
Глава 22. Создание собственных панелей инструментов 587
Глава 23. Создание пользовательских меню 615
Глава 24. Предоставление справки в приложениях 643
Глава 25. Разработка приложений для пользователей 659
Часть VII. Другие темы 669
Глава 26. Вопросы совместимости 671
Глава 27. Управление файлами с помощью VBA 681
Глава 28. Управление компонентами Visual Basic 701
Глава 29. Принципы управления модулями классов 719
Глава 30. Часто задаваемые вопросы о программировании в Excel 731
Приложение А. Информационные ресурсы, посвященные Excel 763
Приложение Б. Справочник по функциям и операторам VBA 769
Приложение В. Коды ошибок VBA 777
Приложение Г. Содержимое компакт-диска 781
Материалы к книге Профессиональное программирование на VBA в Microsoft Office Excel 2003
Полное содержание
Об авторах
Предисловие
Введение
Без преувеличения
можно сказать, Microsoft
Office
любых версий является самым полезным
и самым используемым продуктом Microsoft.
И современный руководитель, и менеджер,
и преподаватель, и студент, и школьник
– все, кто имеет в своем распоряжении
компьютер, в той или иной степени
используют эту систему.
Одним из наиболее
важных и полезных аспектов подготовки
Microsoft
Office
к выполнению определенных задач является
автоматизация процессов взаимодействия
пользователя с приложениями Microsoft
Office.
Эти приложения не являются законченными
продуктами, настроенными на выполнение
всех возможных задач, а представляют
собой системы, которые нуждаются в
определенной настройке, что обеспечивается
разнообразными средствами, как
интерактивными, так и программными. Все
приложения Microsoft
Office
поддерживают язык программирования
Visual
Basic
for
Applications
(VBA).
VBA
позволяет работать с Microsoft
Office,
как с некоторым конструктором: в
распоряжении разработчика VBA-приложения
не только большое количество объектов
и коллекций, но и возможности настроек,
позволяющие до такой степени программно
настроить любое приложение, что
пользователь такого приложения может
и не понять, с каким приложением происходит
«общение».
Важнейшим
достоинством VBA
является возможность объединять любые
приложения Microsoft
Office
для решения, практически, любых задач
по обработке информации. В этом смысле
Microsoft
Office
можно считать системой программирования,
подобной C++,
Delphi
и т.д., но с более мощными и разнообразными
функциями, поскольку здесь имеется
неизмеримо большее количество управляемых
системой объектов и готовых решений
для конечных пользователей.
Привлекательная
особенность VBA
в том, что он очень удобен для первого
знакомства с программированием в среде
Windows.
Этому способствует широкое распространение
приложений Microsoft
Office,
бесконечное разнообразие возможных
практических задач, интуитивно понятная
интегрированная среда редактора Visual
Basic,
возможность обучения программированию
посредством анализа кода, записанного
при помощи макрорекордера, наличие
огромного количества объектов, которыми
можно управлять из VB-кода. Более глубокие
знания VBA-программирования позволят
решать, практически, любые задачи: от
автоматизации создания простых документов
до обработки баз данных с использованием
как настольных, так и сетевых СУБД.
В данном пособии
предлагается набор заданий, объединенных
в лабораторные работы по изучаемым
вопросам. Каждая лабораторная работа
предполагает выполнение заданий по
прописанным действиям, осмысление
проделанного и выполнение упражнений
на закрепление полученных навыков.
На базе предложенного
материала можно организовать вариативность
в преподавании VBA
в зависимости от подготовки студентов.
Лабораторные работы охватывают основы
языка Visual
Basic,
а также операции по созданию макросов,
процедур и функций, приложений обработки
электронных таблиц с
3
использованием
диалоговых окон. Предполагается освоить
язык программирования Visual
Basic.
Рекомендуется
начать изучение VBA
с лекционного курса по данной теме. Он
создаст теоретическую основу для
практической деятельности.
По структуре каждая
работа имеет следующие составные части:
ь
цель
занятия;
ь
необходимые
материалы к заданиям;
ь
справочный
материал;
ь
комментированные
практические задания;
ь
упражнения
для самостоятельной работы;
ь
контрольные
вопросы.
Благодаря такой
структуре обучаемый имеет все условия
для качественного освоения материала
лабораторных работ. Упражнения
предполагают выполнение операций,
аналогичных комментированным практическим
заданиям, но самостоятельно. Это приводит
к осмыслению и закреплению полученных
навыков.
Пособие может быть
использовано аспирантами и студентами
любых специальностей, изучающими
дисциплины «Информатика, численные
методы и компьютерная графика», «Основы
информационных технологий».
4
Независимо от
используемых вами операционной системы
и программных приложений вы часто
выполняете одни и те же последовательности
команд для многих рутинных задач. Вместо
повторения последовательности команд
каждый раз, когда вам необходимо выполнить
какую-либо задачу, вы можете создать
макрос
(macro),
который вместо вас будет выполнять эту
последовательность. Макросы позволяют
вводить одиночную команду, выполняющую
ту же задачу, для реализации которой
вам было бы необходимо вводить несколько
команд вручную.
Макросы, кроме
удобства, имеют и другие преимущества.
Поскольку компьютеры больше приспособлены
для выполнения повторяющихся задач,
чем люди, запись макрорекордером
неоднократно
выполняемых команд повышает точность
и скорость работы. Другим преимуществом
использования макросов является то,
что при их выполнении обычно нет
необходимости в присутствии
человека-оператора.
Макрорекордер
(или просто «рекордер») записывает все
действия пользователя, включая ошибки
и неправильные запуски. Когда программа
воспроизводит макрос, она выполняет
каждую записанную рекордером команду
точно в такой последовательности, в
которой вы их выполняли во время записи.
Записанные
макрорекордером макросы лишены гибкости,
поэтому они не могут реагировать на
изменившиеся или меняющиеся условия.
Законченный макрос сохраняется как
процедура VBA.
На языке VBA
вы можете написать макрос, который
проверяет соответствие различным
предопределенным условиям и выбирает
соответствующую последовательность
действий на основе этих условий. Что
касается повторяющихся действий в самом
макросе, записанные рекордером макросы
имеют значительные ограничения. Если
вам необходимо, чтобы записанный макрос
повторял какое-либо действие несколько
раз, вы должны вручную повторять это
действие нужное количество раз, когда
записываете макрос. Такой макрос всегда
повторяет это действие одинаковое
количество раз, всякий раз, когда вы его
запускаете, до тех пор, пока вы не
отредактируете или не перезапишете
его.
Кроме улучшения
определенных макросов, записанных
макрорекордером, вы можете использовать
VBA
для соединения, организации и управления
несколькими записанными макросами, с
помощью которых вы выполняете сложную
общую задачу, состоящую из нескольких
меньших задач.
С помощью макросов
можно создавать пользовательские меню,
диалоговые окна и панели инструментов,
которые могут до неузнаваемости изменить
интерфейс всем известных продуктов
Word,
Excel,
Access,
PowerPoint.
Уместно здесь отметить также и возможность
создания разнообразной системы проверки
данных, вводимых пользователем в
диалоговых окнах. Когда вы научитесь
писать программы на языке VBA,
вы, скорее всего, уже никогда не станете
начинать создание макроса с использования
рекордера.
5
Лабораторная
работа № 1. Запись
новых макросов в Excel.
Выполнение
макросов
Цель занятия:
Уметь задавать
стартовые условия для макроса, запускать
макроредактор и присваивать имя макросу,
выполнять действия,
которые необходимо записать для
использования позже,
останавливать макроредактор, запускать
на выполнения макросы.
Материалы к
занятию: MS
Excel
2003.
Задание 1. Создайте
макрос в Excel,
который форматирует текст в текущей
ячейке шрифтом Arial,
полужирным, 12 размером.
1. Задайте
стартовые условия.
Для этого:
^Запустите Excel
2003 (Пуск/Все программы ► /Microsoft
Office
► /Microsoft
Office
Excel
2003), если он
еще не запущен;
-
откройте какую-либо
рабочую книгу; -
выберите какой-либо
рабочий лист; -
выделите любую
ячейку в рабочем листе.
2. Выберете
место и имя хранения макроса.
Для этого:
• выберете
в меню Сервис/Макрос/Начать
запись… (Tools/Macro/Record
New
Macro…);
* в
раскрывшимся диалоговом окне Запись
макроса (Record
Macro)
(рис. 1), в
текстовом окне Имя
макроса (Macro
Name)
введите
FormatArialBold12
в качестве
имени макроса;
Рис. 1
ь
оставьте
без изменений текст, который Excel
вставила в поле Описание
(Description),
но добавьте следующее: Форматирует
текст диапазона: Arial,
Bold,
12; этот
дополнительный комментарий поможет
вам (и другим) определить назначение
данного макроса;
ь
в списке
Сохранить в
(Store
macro
in)
для выбора места, в котором будет сохранен
записанный макрос выберите Личная
книга макросов;
ь
если вы
уверены в том, что будете часто использовать
макрос, который
6
собираетесь
записывать, можете назначить для его
запуска горячую клавишу; если — да,
введите горячую клавишу в текстовое
окно Сочетание
клавиш (Shortcut
Key)
окна Запись
макроса;
* щелкните
на кнопке ОК
для начала
записи макроса; как только вы щелкните
на кнопке ОК
в диалоговом
окне Запись
макроса, Excel
запустит
макрорекордер,
отобразит панель ^
Остановить
запись (Stop
Recorder)
и начнет
запись ваших действий. Макрорекордер
сохранит каждое ваше действие в новом
макросе.
Замечание 1.
Доступными
вариантами при сохранении макросов
являются Личная
книга макросов (Personal
Macro
Workbook),
Новая книга (New
Workbook)
и Эта
книга (This
Workbook).
Когда вы
выбираете в качестве места для хранения
макроса Личная
книга макросов, Excel
сохраняет макрос в файле специальной
книги с именем Personal.xls
в папке, в которую установлена Excel.
Excel
автоматически открывает эту книгу
каждый раз в начале работы. Поскольку
вам всегда доступны макросы из всех
открытых книг, макрос, сохраненный в
книге Personal.xls,
также будет доступен вам всегда. Если
книга Personal.xls
не существует, Excel
создаст ее. Выбор Эта
книга приведет
к тому, что Excel
сохранит новый макрос в текущей активной
рабочей книге. Выбор Новая
книга приведет
к созданию в Excel
новой рабочей книги, в которой будет
сохранен этот макрос, — рабочая книга,
которая была активной при запуске вами
макрорекордера, остается активной
рабочей книгой; любые действия, которые
вы записываете, выполняются в этой
книге, а не в новой рабочей книге,
созданной для сохранения макроса.
Замечание 2. Не
всегда при запуске макрорекордера вы
можете увидеть на экране панель Остановить
запись. Поскольку
это — обычная панель, ее можно отображать
или не отображать. Этим, как и другими
панелями, управляет команда Панели
инструментов (Toolbars)
меню Вид
(View).
В любом
случае (при наличии на экране панели
Остановить
запись или
ее отсутствии) вы можете остановить
макрорекордер, выбрав Сервис/Макрос/Остановить
запись.
3. Запишите действия
и остановите макрорекордер.
Для этого:
-
выберите команду
Формат/Ячейки…
(Format/Cells…)
для отображения
диалогового окна Формат
ячеек (Format
Cells); -
щелкните на ярлычке
Шрифт (Font)
для отображения
опций шрифта (рис. 2); -
выберите Arial
в списке
Шрифт (Font);
выполните
этот шаг, даже если шрифт Arial
уже выбран;
-
выберите Полужирный
(Bold)
в списке
Начертание
(Font
Style);
-
щелкните на кнопке
ОК, чтобы
закрыть диалоговое окно Формат
ячеек и
изменить выделенную ячейку в рабочем
листе; -
щелкните на кнопке
Остановить
запись (Stop
Macro)
на панели
Остановить
запись (Stop
Recorder)
или выберите
команду Сервис/Макрос/Остановить
запись (Tools/Macro/Stop
Recording).
7
Рис. 2
Замечание 3. По
умолчанию панель l?f
Остановить
запись в
Excel
содержит две командные кнопки. Левая
кнопка — это кнопка Остановить
запись (Stop);
щелкните на
этой кнопке для остановки макрорекордера.
Правая кнопка -это кнопка Относительная
ссылка (Relative
Reference).
По умолчанию
Excel
записывает абсолютные ссылки на ячейки
в ваши макросы. Кнопка Относительная
ссылка является
кнопкой-переключателем (toggle).
Когда запись с относительными ссылками
отключена, кнопка Относительная
ссылка выглядит
плоской; при помещении курсора мыши на
кнопку вид кнопки изменяется и она
выглядит отжатой. Когда запись с
относительной ссылкой включена, кнопка
Относительная
ссылка на
панели Остановить
запись нажата
(находится в «утопленном» положении).
Щелкая на кнопке Относительная
ссылка, можно
включать и выключать запись с относительными
ссылками во время записи по вашему
желанию.
Задание 2. Выполните
макрос FormatArialBoIdl2.
Для этого:
^выберите ячейку
в рабочем листе (предпочтительнее
ячейку, содержащую некоторый текст,
чтобы вы могли видеть изменения);
^выберите команду
Сервис/Макрос/Макросы…
для отображения
диалогового окна Макрос;
• выберите макрос
PERSONAL.XLS!FormatAriaIBoIdl2
в списке Имя
макроса и
щелкните на кнопке Выполнить
для запуска
макроса FormatArialBoldl2.
Текст в любой ячейке, которая была
выделена до запуска вами этого макроса,
будет теперь иметь формат полужирного
шрифта Arial
12-го размера.
Упражнение
-
Создайте макрос
в Excel,
который вычисляет сумму ячеек A1,
A2
и выводит результат в ячейку A3 шрифтом
Times
New
Roman,
курсивом, 12 размером. -
Создайте макрос
в Excel,
который выводит на желтом фоне синими
буквами в текущую ячейку имя, а справа
от нее фамилию шрифтом Arial,
полужирным, 12 размером. -
Создайте макрос
в Excel,
который выводит красными буквами в
ячейку A3 слово “Частное:”,
справа от
нее выводит частное ячеек A1 и A2 шрифтом
8
Times
New
Roman,
курсивом, 12 размера.
Макросы Visual
Basic
for
Applications
сохраняются как часть файлов, в которых
Excel
(а также Word
и Access)
обычно содержит свои данные, – макросы
сохраняются в файлах рабочих книг в
Excel.
Макросы сохраняются в специальной части
файла данных, называемой Modules
(модули).
Модуль VBA
содержит исходный
код (source
code)
макроса – текстовое представление
инструкций. Каждый файл рабочей книги
Excel
может не содержать модулей или содержать
один или несколько модулей. Модули,
сохраняемые в одной рабочей книге Excel,
имеют общее название Project
(проект).
При записи макроса
в Excel
вы можете определять только рабочую
книгу, в которой Excel
сохраняет записанный макрос, – текущую
рабочую книгу, новую рабочую книгу или
рабочую книгу Personal.xls.
Excel
выбирает модуль, в котором сохраняется
записанный макрос, и при необходимости
создает этот модуль. Когда Excel
создает модуль, в котором сохраняется
записанный макрос, модулю присваивается
имя ModuleN,
где N
– это
количество модулей, созданных для
определенной рабочей книги во время
текущего сеанса работы. Например, в
первый раз, когда вы сохраняете записанный
макрос в Personal.xls
(личной книге макросов), Excel
создает модуль с именем Module1.
Если вы продолжаете записывать макросы
в том же сеансе работы и сохранять их в
Personal.xls,
Excel
продолжает сохранять записанные макросы
в том же модуле Module1
до тех пор,
пока вы не выберете другую рабочую
книгу. Если позже в том же сеансе работы
вы опять захотите сохранить записанные
макросы в Personal.xls,
Excel
добавляет другой модуль с именем Module2
в эту книгу.
Если какая-либо
рабочая книга уже содержит модуль с тем
же именем, что выбран в Excel
для нового модуля, Excel
увеличивает число в имени модуля до тех
пор, пока имя нового модуля не будет
отличаться от имен существующих модулей.
Для просмотра
модулей, сохраненных в определенной
рабочей книге (и исходного кода макроса,
который они содержат), вам необходимо
использовать компонент Visual
Basic
Editor
(Редактор Visual
Basic).
Этот компонент предоставляет
инструментальные средства, которые
используются для создания новых модулей,
просмотра содержимого существующих
модулей, создания и редактирования
исходного кода макроса, создания
пользовательских диалоговых окон и
выполнения других задач, относящихся
к написанию и обслуживанию программ на
VBA.
Редактор Visual
Basic
(Редактор VB)
содержит одни и те же возможности в
Excel,
Word
и Access.
Задание 3. Запустите
Редактор VB.
Для этого:
ь
выберите
Сервис/Макрос/Редактор
Visual
Basic
(Tools/Macro/Visual
Basic
Editor)
или нажмите сочетание клавиш Alt+F11;
ь
выберите
в меню View/Code
или нажмите
клавишу F7.
Excel
запустит Редактор VB
(рис. 3).
9
Project
Explorer
Code
Window
Properties
Window
Рис. 3
Окна Редактора
VB
В окне Редактора
VB
имеются три дочерних окна, каждое из
которых отображает важную информацию
о VBA-проекте.
Project
(Проект) — это
группа модулей и других объектов,
сохраняемых в определенной рабочей
книге или шаблоне рабочей книги. Каждое
из окон Редактора VB
отображается по умолчанию в прикрепленных
(docked)
положениях (рис. 3).
Если необходимо,
вы можете переместить любое из дочерних
окон Редактора VB
в любое место на экране, перетаскивая
строку
заголовка (title
bar)
этого окна
таким же образом, каким бы вы перемещали
любое окно на рабочем столе Windows.
Перетаскивание одного из дочерних окон
из его прикрепленного положения приводит
к тому, что оно становится плавающим
окном. Плавающие
(floating)
окна всегда
остаются видимыми поверх других окон.
Вы можете также изменять размер любого
из дочерних окон Редактора VB,
расширяя или уменьшая рамку окна для
увеличения или уменьшения его размера,
что подобно изменению размера любого
окна на рабочем столе Windows.
Project
Explorer
(Окно проекта)
содержит дерево-диаграмму открытых в
данный момент файлов (рабочих книг) и
объектов, содержащихся в этих файлах
(объекты host-приложения,
модули, ссылки, формы и так далее). Project
Explorer
можно использовать для перехода к
различным модулям и другим объектам в
проекте VB
при помощи кнопок (панели инструментов
этого окна) =
View
Code
(Программа),
^ View
Object
(Объект) и
Ш. Toggle
Folders
(Папки).
Properties
Window
(Окно свойств)
содержит все свойства объекта текущего
выбора. Вкладка Alphabetic
(по алфавиту)
этого окна предоставляет список
10
свойств выделенного
объекта, составленный из имен свойств
в алфавитном порядке. Вкладка Categorized
(по категориям)
отображает свойства объекта, отсортированные
по категориям.
Code
Window
— это окно,
в котором вы можете просматривать,
редактировать или создавать исходный
код VBA.
В режиме F
Full
Module
View
весь исходный
код макроса в модуле отображается сразу
в прокручивающемся текстовом окне, а
макрос отделяется от другого макроса
серой линией. Редактор VB
позволяет также просматривать содержимое
модуля в режиме 1=
Procedure
View
(представление
процедуры). Чтобы выбрать режим просмотра,
щелкайте кнопки в нижнем левом углу
Code
Window
(рис. 3).
Когда Code
Window
находится в режиме Procedure
View,
видимым является исходный код только
одного макроса. Используйте раскрывающийся
список Procedure
(процедура)
для просмотра другого макроса. В режиме
Full
Module
View
вы можете также использовать раскрывающийся
список Procedure
для быстрого перехода к отдельному
макросу.
Используйте список
Object
List
(объект) для
выбора объекта, процедуры которого
хотите просмотреть или редактировать.
В случае стандартных модулей, таких как
модули, в которых сохраняются записанные
вами макросы, единственным выбором в
списке Object
List
является General
(общая
область).
Меню Редактора
VB
В Редакторе VB
меню File
(Файл)
предоставляет команды, необходимые для
сохранения изменений в проекте VBA
и вывода на экран исходного кода вашего
макроса VBA.
В табл. 1 приведены команды меню File,
их горячие клавиши и назначение каждой
команды.
Таблица 1 —
Команды меню File
Команда |
Горячая клавиша |
Действие |
Save (сохранить <проект>) |
Ctrl+S |
Сохраняет текущий |
Import |
Ctrl+M |
Добавляет |
Export |
Ctrl+E |
Сохраняет текущий |
Remove |
Перманентно |
11
Команда |
Горячая клавиша |
Действие |
Print… |
Ctrl+P |
Печатает модуль |
Close |
Alt+Q |
Закрывает Редактор |
Меню Edit
(Правка)
содержит команды, относящиеся к управлению
исходным кодом макроса в Code
Window
и объектами в формах. В табл. 2 приведены
имеющиеся команды меню Edit,
их горячие клавиши и описывается
действие, выполняемое каждой командой.
Таблица 2 –
Команды меню Edit
Команда |
Горячая клавиша |
Действие |
Undo |
Ctrl+Z |
Отменяет самую |
Redo |
Возвращает самую |
|
Cut |
Ctrl+X |
Вырезает выделенный |
Сору |
Ctrl+C |
Копирует выделенный |
Paste |
Ctrl+V |
Вставляет текст |
Clear |
Del |
Удаляет выделенный |
Select |
Ctrl+A |
Выделяет весь |
Find… |
Ctrl+F |
Подобно команде |
Find |
F3 |
Повторяет |
Replace… |
Ctrl+H |
Подобно команде |
Indent (увеличить отступ) |
Tab |
Смещает весь |
12
Команда |
Горячая клавиша |
Действие |
Outdent (уменьшить отступ) |
Shift+Tab |
|
List |
Ctrl+J |
Открывает список |
List |
Ctrl+ |
Открывает список |
Quick |
Ctrl+I |
Открывает |
Parameter |
Ctrl+ |
Открывает |
Complete |
Ctrl+Space |
|
Bookmarks |
Открывает подменю |
Меню View
(Вид) содержит
команды, позволяющие выбирать элементы
Редактора VB
для просмотра и способ просмотра. В
табл. 3 приведены команды меню View,
их горячие клавиши и действие, производимое
каждой командой.
Таблица 3 –
Команды меню View
Команда |
Горячая клавиша |
Действие |
Code |
F7 |
Активизирует |
Object |
Shift+F7 |
Отображает объект |
13
Команда |
Горячая клавиша |
Действие |
Definition |
Shift+F2 |
|
Last |
Ctrl+ |
|
Object (просмотр объектов) |
F2 |
Открывает Object |
Immediate |
Ctrl+G |
Отображает окно |
Locals |
Отображает |
|
Watch
контрольного |
Отображает окно |
|
Call |
Ctrl+L |
Отображает список |
Project |
Ctrl+R |
Отображает |
Properties |
F4 |
Отображает |
Toolbox |
Отображает |
|
Tab |
Отображает |
|
Toolbars |
Отображает |
|
Microsoft Excel |
Alt+Fll |
Возвращает вас |
Команды меню Insert
(Вставка)
позволяют добавлять различные объекты,
14
такие
как модули и формы, в ваш проект. В меню
Insert
никакие команды не имеют «горячих
клавиш». В табл. 4 приведены действия,
выполняемые каждой командой этого меню.
Таблица 4 –
Команды меню Insert
Команда Действие
Procedure…
(процедура)
UseForm
Вставляет новую
процедуру (Sub,
Function
или Property)
в текущий
модуль. Процедура – это еще одно название
макроса. Добавляет
новую форму (используется для
создания
пользовательских
диалоговых окон) в проект. Module
(модуль) Добавляет новый модуль в
проект. Редактор VB
дает этому модулю
имя в соответствии с правилами, описанными
ранее.
Class
Module
(модуль
класса)
File…
(файл)
Добавляет в проект
class
module
(модуль
класса).
Модули класса используются для создания
пользовательских объектов в
вашем проекте.
Позволяет вставлять
текстовый файл, содержащий исходный
код VBA,
в модуль.
Команды меню Format
(Формат)
используются при создании пользовательских
диалоговых окон и других форм. Команды
меню Format
позволяют выравнивать объекты в форме
по отношению друг к другу, настраивать
размер элемента управления в соответствии
с его содержимым и выполнять многие
другие полезные задачи. Команды меню
Format
представлены здесь для полноты изложения
материала, хотя вы не будете их применять
до тех пор, пока не начнете создавать
собственные пользовательские диалоговые
окна. В табл. 5 приведены команды меню
Format
и их действия. Заметьте, что эти команды
не имеют «горячих клавиш».
Таблица 5 –
Команды меню Format
Команда Действие
Align
(выровнять)
Открывает подменю
команд, которые позволяют выравнивать
выбранные объекты
в форме по отношению друг к другу.
Здесь можно
выравнивать объекты по верхней/нижней,
правой/левой
границам, по центру или середине
создаваемого
объекта.
Make
Same
Size
(выровнять
размер)
Size to
Fit
(подогнать
размер)
Size to
Grid
(выровнять
размер по сетке)
Открывает подменю
команд, позволяющих изменять размер
выделенных объектов
до размера указанного объекта.
Одновременно
изменяет ширину и высоту объекта
до соответствия размеру его содержимого.
Одновременно
изменяет ширину и высоту объекта до
ближайших меток сетки. Йри разработке
форм Редактор VB
отображает в форме сетку, чтобы было
легче располагать и изменять
размеры объектов в форме.
15
Команда Действие
Horizontal |
Открывает подменю |
Vertical |
Открывает подменю |
Center |
Открывает подменю |
Arrange (разместить кнопки) |
Открывает подменю |
Group |
Связывает |
Ungroup |
Отменяет |
Order |
Открывает подменю |
Команды меню Debug
(Отладка)
используются при выполнении тестирования
или отладки макросов. Debugging
– так
называется процесс нахождения и
исправления ошибок в программе. В табл.
6 приведены команды меню Debug,
их «горячие клавиши» и выполняемые
действия.
Таблица 6 –
Команды меню Debug
Команда |
Горячая клавиша |
Действие |
Compile (компилировать <проект>) |
Компилирует |
|
Step (шаг |
F8 |
Выполняет исходный |
Step |
Shift+F8 |
Подобно команде |
16
Команда |
Горячая клавиша |
Действие |
Step (шаг |
Ctrl+ |
|
Run |
Ctrl+F8 |
Выполняет |
Add |
Позволяет |
|
Edit |
Ctrl+W |
Позволяет |
Quick (контрольное значение) |
Shift+F9 |
|
Toggle |
F9 |
Отмечает место |
Clear Breakpoints |
Ctrl+ |
Удаляет все точки |
Set |
Ctrl+F9 |
Позволяет менять |
Show Statement (показать следующую инструкцию) |
Приводит к |
Команды меню Debug
позволяют непосредственно контролировать
выполнение макроса, останавливать и
запускать макрос в заданных точках и
отслеживать выполнение макроса по
шагам.
Команды меню Run
(Запуск)
позволяют начать выполнение макроса,
прерывать или возобновлять его выполнение
или возвращать прерванный макрос в
состояние до выполнения (табл. 7).
17
Таблица 7 –
Команды меню Run
Команда |
Горячая клавиша |
Действие |
Run |
F5 |
Приводит к тому, |
Break |
Ctrl+Break |
Прерывает |
Resert |
Устанавливает |
|
Design |
Включает и |
Команды меню Tools
(Сервис) не
только позволяют выбрать макрос для
выполнения, но и получить доступ к
внешним библиотекам макросов и
дополнительным элементам управления
форм (кроме встроенных в VBA).
Команды меню Tools
обеспечивают также доступ к диалоговому
окну Options
(параметры) Редактора VB
и свойствам проекта VBA
текущего выбора в Project
Explorer.
В табл. 8 приведены команды меню Tools
и их действия. Команды меню Tools
не имеют
«горячих клавиш».
Таблица 8 –
Команды меню Tools
Команда |
|
References… |
Отображает |
Additional |
Отображает |
Macros… |
Отображает |
18
Команда |
|
Options… |
Отображает |
<project> |
Отображает |
Digital |
Отображает |
В меню Add—lns
находится
всего одна команда, Add—In
Manager,
которая приводит к отображению диалогового
окна Add—In
Manager.
Это окно позволяет регистрировать,
загружать или выгружать и определять
поведение дополнений.
В Редакторе VB
имеются два дополнительных меню: Window
(окно) и Help
(помощь). Оба
этих меню содержат команды, идентичные
меню Window
и Help,
имеющимся в других приложениях Microsoft
Windows.
Команды в меню Window
позволяют выбирать активное окно,
разбивать текущее окно, размещать
дочерние окна вертикально и горизонтально,
организовывать дочерние окна VB
в виде каскада или выравнивать значки
минимизированных дочерних окон. Команды
меню Help
также идентичны командам меню Help
в Word,
Excel
и других приложениях Microsoft
Windows.
Меню Help
Редактора VB
позволяет получать контекстно-зависимую
подсказку посредством справочной
системы Microsoft
Office
и просматривать файлы справочной системы
VBA
для host-приложения, из которого вы
запустили Редактор VB.
Если у вас имеется модем или доступ к
Internet,
вы можете использовать Help/MSDN
on
the
Web
для соединения
с разнообразными страницами Web,
содержащими информацию о продуктах
Microsoft
и VBA.
Последняя команда в меню Help
– это команда About
Microsoft
Visual
Basic.
Она отображает диалоговое окно, содержащее
сведения об авторских правах на Microsoft
Visual
Basic.
Диалоговое окно About
Microsoft
Visual
Basic
содержит также командную кнопку System
Info…,
которая отображает информацию о вашей
вычислительной системе: какие драйверы
видеосистемы, звуковой системы и принтера
установлены, какие программы загружены
в память в данное время, какие программы
зарегистрированы в системном реестре
(Windows
System
Registry)
и другую техническую информацию.
Панелями
инструментов Редактора VB
По умолчанию
Редактор VB
отображает только панель инструментов
Standard
(рис. 4). В
конце панели, справа, находится кнопка
(со стрелкой) More
Buttons.
Если вы хотите удалить с панели или
добавить некоторые кнопки на панель
Standard,
нажмите на эту кнопку, а затем укажите
соответствующую кнопку в появляющемся
меню.
19
Запуск программы
Помощник по Office
Окно проекта
Сброс
Вырезать Отменить
Вставить
Панель
Прервать
Окно
Вставка объекта
аца,1
Сохранить
1-1
h
Найти
Дополнительные
кнопки элементов
LnS,ColZ
свойств
Копировать
Приложение Excel
Повторить
Конструктор
Просмотр объектов
Позиция курсора
Рис. 4
Кроме панели
Standard
Редактор VB
предлагает еще три панели: Edit
(правка),
Debug
(отладка) и
UseForm.
Вы можете управлять
тем, какие панели инструментов отображает
Редактор VB
с помощью команды View/Toolbars
(Вид/Панели
инструментов).
Контрольные
вопросы
-
Что такое макрос?
-
Что такое
макрорекордер? Каковы его возможности? -
Как задаются
стартовые условия для макроса? -
Как записать
макрос? -
Как выполнить
макрос? -
Назовите основные
компоненты интегрированной среды VBA.
Соседние файлы в папке Visual Basic
- #
02.05.2014311.81 Кб44Расчётно-графическая работа [5].xls
- #
02.05.20143.44 Mб22Расчётно-графическая работа [6].xls
- #
02.05.20142.88 Mб26Расчётно-графическая работа [7].xls
- #
02.05.2014202.75 Кб25Расчётно-графическая работа [8].xls
- #
02.05.20143.44 Mб30Расчётно-графическая работа [9].xls
- #