Автор работы: Пользователь скрыл имя, 24 Июля 2009 в 19:19, Не определен
Большинство пользователей постепенно осваивают те возможности Excel, которые наиболее пригодны для создания документов нужного им типа.
Большинство пользователей постепенно осваивают те возможности Excel, которые наиболее пригодны для создания документов нужного им типа. Определив для себя оптимальное количество требуемых инструментов, они, как правило, оставляют без внимания множество средств и функций программы. Наиболее честолюбивые пользователи, для того чтобы облегчить доступ к привычным командам, изменяют пользовательский интерфейс Excel. Но дальше этого они не идут.
Две области, которые многие пользователи, к сожалению, оставляют без внимания, — это запись макросов и программирование в среде VBA (Visual Basic for Applications — Visual Basic для приложений). В недалеком прошлом макросы имели настолько плохую репутацию, что многие не желали даже связываться с ними. Однако сейчас макросы очень просто записывать и выполнять. Применив минимум усилий, можно избежать выполнения действий, которые могут привести к утрате данных или, скажем, к повреждению операционной системы
(именно этого больше всего опасаются начинающие пользователи). Но тот, кто не отважится работать с макросами и программами VBA, лишит себя возможности изменить жизнь к лучшему за счет использования форм (настраиваемых диалоговых окон), которые предназначены для представления информации и получения данных от пользователя, а также применяются в качестве графических средств для работы с настраиваемой процедурой или приложением.
VBA
является единой средой
Во-первых, с помощью VBA можно записывать последовательности повторяющихся команд, характерных для какого-либо приложения, и назначать правила (условия), в соответствии с которым эти последовательности (процедуры VBA) будут вызываться в приложении. Например, после нажатия некоторой кнопки, рабочий лист Excel будет отформатирован с учетом ваших требований, записанных на VBA и сохраненных в рабочей книге или шаблоне.
Во-вторых, применив средства VBA, можно обеспечить нестандартный диалог с пользователем, создавая диалоговые формы и обрабатывая реакцию пользователя на событие в приложении.
Наконец, использование единого языка программирования способствует более тесному взаимодействию Excel с продуктами Microsoft Office. С помощью VBA можно разрабатывать приложения, одновременно применяющие компоненты нескольких программ.
В Excel существует возможность создавать собственные макросы и таким образом автоматизировать выполнение основных операций. Макрос представляет собой последовательность команд и функций, записанных в модуле VBA. Насколько Автоматизация рабочих процессов сложными могут быть макросы, можно судить по входящим в пакет поставки
Excel
надстройкам, при создании
Существует два способа создания макроса: записывать свои действия во время работы с листом Excel или же написать макрос, используя редактор Visual Basic. Наиболее простым способом создания макрокоманды является ее запись с помощью Макрорекордер, и для этого вовсе не нужны глубокие знания по программированию. Работа Макрорекордер во многом напоминает работу обычного магнитофона, осуществляющего запись и воспроизведение звука. Макрорекордер протоколирует все выполняемые пользователем действия и представляет их в виде VBA-кода.
Однако следует помнить, что собственноручно написанные макросы позволяют
создавать гораздо более мощные и гибкие программы, чем макросы, записываемыми с помощью Макрорекордер, но, конечно, записать макрос гораздо проще, чем создать его программный код. Процесс записи макроса с помощью Макрорекордер можно условно разбить на четыре следующих этапа:
Начало записи
Прежде чем записывать свой макрос, определитесь, что вы хотите получить в результате. Подумайте, какие действия он должен осуществлять, и настройте приложение таким образом, чтобы можно было беспрепятственно выполнить последовательность команд, подлежащих записи. Например, прежде чем приступить
к созданию макроса, предназначенного для редактирования текста, убедитесь,
что окно с нужным документом находится на переднем плане. (Вы можете приостановить процесс записи макроса при необходимости выполнить операцию, которую не следует записывать, но лучше спланировать свои действия заранее.)
Кроме того, вам придется протестировать макрос, потому что при записи фиксируются все действия, в том числе и ошибочные. И обязательно определите, в каких условиях будет работать макрос.
Для того чтобы начать запись макроса, необходимо активизировать чистый рабочий лист, выбрать в меню Tools (Сервис) команду Macro (Макрос), а в открывшемся
подменю — команду Record New Macro (Начать запись). На экране появится диалоговое окно Record Macro (Запись макроса), в котором следует указать имя макроса, ввести его краткое описание, задать комбинацию клавиш для запуска создаваемого
По
умолчанию макросу
номеру макроса. Имя макроса отображается в поле Macro name (Имя макроса).
Это имя можно оставить без изменения, но при желании можно заменить его другим, которое описывало быстродействия макроса. При выборе имени макроса и комбинации клавиш для его запуска следует придерживаться следующих правил:
Информация о создаваемом макросе вводится в поле Description (Описание). Она пригодится в дальнейшем — при идентификации макроса и при его вызове. Обязательно укажите, какие условия необходимо создать для успешной работы макроса. После щелчка на кнопке ОК в диалоговом окне Record Macro (Запись макроса) на экране появляется панель инструментов с двумя кнопками. Для того чтобы остановить процесс записи макроса, нужно щелкнуть на кнопке Stop Recording (Остановить запись) указанной панели.
С помощью кнопки Relative Reference (Относительная ссылка) определяется режим адресации при записи макросов, то есть какие ссылки на ячейки абсолютные или относительные - используются. Если эта кнопка не активизирована, по умолчанию применяются абсолютные ссылки.
В процессе записи макроса в строке состояния окна программы появляется сообщение Recording (Запись) Таким образом программа напоминает пользователю, что все выполняемые им действия записываются макрорекордером. Теперь вам предстоит выполнить последовательность действий, которые должен записать макрорекордер:
Выполнив перечисленные действия, вы должны остановить запись, и поскольку запись макроса завершена, сообщение Recording (Запись) из строки состояния исчезнет.
Панель инструментов для работы с макросами
В том случае, когда необходимо записать несколько макросов, целесообразно использовать специальную панель инструментов — Visual Basic (рис. 12.4), открыть которую можно с помощью команды View > Toolbars > Visual Basic Открывает одноименное диалоговое окно, в котором можно задать уровень защиты от макровирусов и указать надежных разработчиков макросов Запускает редактор или активизирует его, если он уже запущен Выводит на экран или удаляет с него одноименную панель, которая необходима для вставки в документы приложения элементов управления Устанавливает режим конструктора для текущего документа, а также выводит на экран панели Control Toolbox (Элементы управления) и Exit Design mode (Выход из режима конструктора). Данная кнопка действует как выключатель. Но если вы воспользуетесь ею для выхода из режима конструктора, панель Control Toolbox (Элементы управления) останется на экране Запускает редактор Microsoft Script Editor, который понадобится для создания HTML- и XML-страниц Чтобы начать запись первого макроса, нужно щелкнуть на кнопке Record Macro
(Записать макрос) панели инструментов Visual Basic. В результате на ее месте появится кнопка Stop Recording (Остановить запись). После завершения записи макроса и нажатия кнопки Stop Recording (Остановить запись) панель инструментовVisual Basic остается открытой, а пользователь может без промедления приступать к записи следующего макроса.
Запуск макроса
Перед запуском нового макроса текущий документ рекомендуется сохранить, так как в случае какого-либо сбоя во время записи результаты могут оказаться неожиданными. Если была допущена ошибка, макрос можно изменить и записать под тем же именем еще раз. Перед запуском макроса необходимо открыть тот рабочий лист, для которогодолжны быть выполнены записанные в макросе операции. В Excel существует несколько способов запуска макроса, но наиболее часто используемые только два из них. Во-первых, это можно сделать путем выбора имени макросаВо-вторых, макрос можно запустить посредством нажатия клавиши Ctrl в комбинации с клавишей, назначенной в поле Shortcut key (Сочетание клавиш) диалогового окна Record Macro (Запись макроса). Если комбинация для запуска макроса включает прописную букву, необходимо также нажать клавишу Shift. Клавишу CapsLock при запуске макроса использовать нельзя.
Работа с макросами, основы VBA
Редактирование макроса
При использовании макросов, записанных с помощью макрорекордера, выполнение операций не всегда происходит так, как хотелось бы. Поэтому часто возникает необходимость в редактировании текста макроса.
Просмотреть и отредактировать макрос позволяет команда Tools > Macro > Visual Basic
Editor (Сервис
> Макрос ≫ Редактор Visual Basic), но
можно также воспользоваться
кнопкой Visual Basic Editor (Редактор Visual Basic)
панели инструментовVisual Basic или комбинацией
клавиш Alt+Fll. В любом случае после
активизацииуказанных
Итак, в настоящий момент мы находимся в режиме работы с VBA-модулем. Как
уже было отмечено, редактирование VBA-модулей выполняется в среде Visual Basicfor Applications, в которой пользователю предоставляются средства для разработки программ, анализа связей между объектами (VBA является объектно-ориентированным языком программирования), отладки программ и их организациив единый программный комплекс (проект).
В VBA текст макроса оформляется в виде процедуры Sub. Данная процедура соз-
дается на основе событий (таковым может быть, например, изменение размера
Автоматизация рабочих процессов '_ 359
окна или щелчок на кнопке) и методов. Каждому событию поставлены в соответ-
ствие методы, которые задают необходимость выполнения определенных опера-
ций при наступлении данного события. Так, при щелчке на ярлычке рабочего
листа событием является изменение активного листа. Благодаря связанному с этим
событием методу лист, на ярлычке которого был произведен щелчок, активизи-
руется и отображается на переднем плане. В зависимости от типа активизирован-
ного листа изменяются и некоторые команды меню. В VBA пользователь может
задавать собственные события и ставить им в соответствие методы.