Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая / Источники / excel_2010_professionalnoe_programmirovanie_na_vba_RuLit_Me_412629.pdf
Скачиваний:
4
Добавлен:
27.09.2025
Размер:
22.97 Mб
Скачать

Глава

Разработка утилит Excel с помощью VBA

В этой главе...

Об утилитах Excel

Создание утилит с помощью VBА

Признаки хорошей утилиты

Утилита Text Tools

Дополнительно об утилитах Excel

Вэтой главе вы познакомитесь с методами разработки утилит Excel.

Об утилитах Excel

Основное назначение утилиты — расширение возможностей программы, обеспече­ ние и упрощение доступа к имеющимся функциям программы. Утилита не является ко­ нечным продуктом (как, например, приложение квартального отчета). Это инструмент, который позволяет создавать конечный продукт (например, квартальный отчет). Утилита Excel (почти всегда) — это надстройка, которая расширяет возможности программы Excel, добавляя в нее новые функциональные средства.

Excel — великий продукт, но нет предела совершенству. Многие пользователи про­ должают добавлять в программу различные свойства. Например, по мнению некоторых пользователей, часто занимающихся вводом дат, будет полезным всплывающий кален­ дарь, автоматизирующий ввод данных в ячейки. А другим пользователям хотелось бы иметь простой способ экспорта диапазона данных в отдельный файл. Все это примеры средств, которые в настоящее время в Excel недоступны, но могут быть добавлены с по­ мощью соответствующей утилиты.

С другой стороны, утилиты не должны быть слишком сложными. Многие из попу­ лярных утилит очень просты. Например, как вы уже, наверное, заметили, в Excel 2010 отсутствует команда ленты, с помощью которой отображается (либо скрывается) размет­

518 Часть V. Профессиональные методы программирования

ка листа. Если вам не нравятся пунктирные линии разметки, откройте диалоговое окно Параметры Excel и воспользуйтесь соответствующей опцией для отключения разметки. К сожалению, команду отображения и сокрытия разметки листа невозможно добавить на ленту либо на панель быстрого доступа.

Ниже представлен пример простой процедуры VBA, которая отображает и скрывает разметку страницы в активном окне.

Sub

ToggleP ageB reaks()

 

W ith

A c tiv e S h e e t

 

. D isplayP ageB reaks = Not . D isplayP ageB reaks

 

End

W ith

End

Sub

 

Этот макрос можно сохранить в персональной книге макросов, чтобы всегда иметь к нему доступ. Вы получите быстрый доступ к макросу, если назначите ему значок на панели инструментов и определите команду в меню, опцию в контекстном меню или да­ же измените ленту.

Как видите, создание утилит Excel — это превосходный способ сделать хороший продукт совершенным.

Создание утилит с помощью VBA

В1992 году увидела свет Excel 5 — первая версия процессора электронных таблиц от Microsoft, в которой появилась поддержка VBA. При изучении бета-версии Excel 5 многих поразил потенциал VBA, который на световые годы опережал встроенный язык Excel для создания макросов (XLM) и зачислил Excel в ряды лидеров среди программ управления элек­ тронными таблицами, особенно в вопросах программирования новых возможностей.

Впроцессе изучения VBA я создал коллекцию утилит Excel, которые были написаны исключительно с использованием VBA. Я понял, что могу изучить язык программирова­ ния быстрее, если поставлю перед собой реальную цель. Результатом стало создание па­ кета Power Utility Рак для Excel.

При изучении языка VBA следует учитывать такие моменты.

VBA может оказаться трудным в изучении, но со временем его использование уп­ рощается.

Экспериментирование является основным способом изучения VBA. Проект обыч­ но вырастает из десятка экспериментов по созданию кода, что в итоге приводит к появлению завершенного продукта.

VBA предоставляет возможность расширять возможности Excel, сохраняя внеш­ ний вид диалоговых окон и панелей инструментов.

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

Далеко не все продукты располагают таким богатым набором инструментов, который позволяет конечному пользователю значительно расширить возможности программы.

Признаки хорошей утилиты

Утилита Excel должна упрощать выполнение задачи, причем делать это более эффек­ тивно, чем смог бы сделать вручную пользователь. Если утилита разрабатывается для