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

664

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

Это действие обязательно для выполнения в том случае, когда нужно предотвра­ тить просмотр или изменение макроса или диалогового окна Use г Form.

5.Повторно запустите Excel и выполните команду Разработчик^Изменением Область документа (Developer^Modify1^Document Panel) для отображения па­ нели Область сведения о документе (Document Properties).

6.Введите короткий описательный заголовок в поле Название (Title) и более длин­ ное описание в поле Примечания (Comments).

Это действие необязательно, хотя и облегчает дальнейшее использование над­ стройки путем отображения описательного текста в диалоговом окне Надстрой­ ки (Add-Ins).

7.Выберите команду Файл^Сохранить как (File^Save As). Отобразится диалого­ вое окно Сохранение документа (Save As).

8.В диалоговом окне Сохранение документа (Save As) в раскрывающемся списке Тип файла (Save as Туре) выберите пункт Надстройка Excel (Add-In (*.xlam)).

9.Щелкните на кнопке Сохранить (Save). Будет сохранена копия рабочей книги

(с расширением . xlam), а исходная книга останется открытой.

10.Закройте исходную рабочую книгу и установите созданную на ее основе над­ стройку.

11.Протестируйте надстройку, чтобы убедиться в ее работоспособности.

Если надстройка не работает, внесите изменения в код макроса. И не забудьте со­ хранить изменения.

Предупреждение

Рабочая книга, преобразованная в надстройку, должна включать хотя бы один лист. Например, если рабочая книга содержит только один лист диа­ граммы или лист диалога Excel 5/95, пункт Надстройка Excel исчезнет из раскрывающегося списка в окне Сохранение документа. Также этот пункт отображается в списке только в том случае, когда рабочий лист активен в момент выбора команды Файл^Сохранить как (File^Save As).

Пример надстройки

Вэтом разделе будет рассмотрен пример создания полезной надстройки. В процессе

еесоздания используется утилита, выполняющая экспорт диаграмм в отдельные графи­

ческие файлы. Эта утилита добавляет новую группу в контекстную вкладку Работа С диаграммами^Конструктор (Chart Tools^Design). Главное диалоговое окно этой ути­

литы показано на рис. 21.3. Эта утилита достаточно сложная и, чтобы разобраться в принципах ее работы, понадобится время.

Компакт-диск

Версия XLSM утилиты Export Charts (под именем e x p o rt c h a rts .xlsm ) на­ ходится на прилагаемом к книге компакт-диске. На основе этого файла можно создать описываемую надстройку.

666

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

Вполе Название (Title) введите название надстройки. Текст названия отображается

всписке надстроек в диалоговом окне Надстройки (Add-Ins). В поле Примечания

(Comments) введите описание надстройки. Эта информация отображается в нижней час­ ти диалогового окна Надстройки после выбора надстройки.

Указывать название и описание надстройки необязательно, но крайне желательно.

Несколько слов о паролях

Компания Microsoft никогда не позиционировала Excel в качестве средства разра­ ботки приложений с защищенным исходным кодом. Используемый в Excel пароль пре­ дотвращает доступ к отдельным частям приложения неискушенным пользователям. В Excel 2002 и более поздних версиях уровень безопасности был усилен, хотя пароль может быть взломан опытными хакерами. И если вы хотите исключить возможность доступа к макросам или формулам, вряд ли Excel будет наилучшим выбором в качестве платформы разработки.

Ф ормирование надстройки

Для создания надстройки выполните следующие действия.

1.Активизируйте VBE и выберите рабочую книгу, на основе которой будет создана надстройка, в окне Project (Проект).

2.Выберите команду Debug'MCompile (Отладка^Компиляция).

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

3.Выберите команду Tools^xxx Properties (Сервисах** Свойства), где ххх— это название проекта, для отображения диалогового окна Project Properties (Свойства проекта). Щелкните на вкладке General (Общие) и введите новое имя проекта.

По умолчанию все проекты VB называются V B P ro je c t. В данном примере на­ звание проекта изменяется на E x p C h a rts . Этот шаг дополнительный, хотя и ре­

комендуемый.

4.Сохраните рабочую книгу в файле с именем * . XLSM. Вообще говоря, этот шаг необязателен, но он нужен для создания резервной копии XLSM (без пароля) фай­

ла надстройки XLAM.

5.В диалоговом окне Project Properties (Свойства проекта) выберите вкладку Pro­ tection (Защита). Установите флажок Lock Project for Viewing (Заблокировать про­

смотр проекта) и дважды введите пароль.

После этого код по-прежнему будет отображаться на экране, а изменения скажут­ ся после закрытия и повторного открытия файла.

6.Щелкните на кнопке ОК.

Если вы не хотите защищать проект, пропустите пп. 5 и 6.

7.В Excel выберите команду Файл^Сохранить как (File^Save As). После этого Excel отобразит окно Сохранение документа (Save As).

Глава 21. Создание и использование надстроек

667

8.В раскрывающемся списке Тип файла (Save as Туре) выберите пункт Надстрой­ ка Excel (Excel Add-In (*.xlam)).

9.Щелкните на кнопке Сохранить (Save).

После этого будет создана надстройка, причем исходный файл (XLSM-версия) останется открытым.

Надстройки могут размещаться в любой папке.

Диспетчер надстроек Excel

Установить и отменить установку надстроек можно с помощью диалогового окна Надстройки (Add-Ins) в Excel. Для отображения этого окна выберите команду Файл1^ Параметры Excel ^Надстройки (File^Excel Options^Add-lns). В диалоговом окне Пара­ метры Excel (Excel Options) в списке Управление (Manage) выберите пункт Надстройки Excel (Excel Add-Ins) и щелкните на кнопке Перейти (Go). В этом диалоговом окне отобра­ жаются названия доступных надстроек. Все отмеченные флажками надстройки открыты.

Говоря языком программистов VBA, в диалоговом окне Надстройки (Add-Ins) пере­ числяются значения свойства T it le каждого объекта A d din в коллекции Addins. Каж­ дая надстройка, для которой установлен флажок, — это свойство in s t a lle d , которому присвоено значение True.

Для установки надстройки следует установить соответствующий флажок. Если же нужно деинсталлировать надстройку, отмените установку соответствующего ей флаж­ ка. Для добавления надстройки в список воспользуйтесь кнопкой Просмотр (Browse), с помощью которой найдите требуемый файл. По умолчанию в диалоговом окне Над­ стройки (Add-Ins) отображаются надстройки следующих типов:

xlam — надстройка Excel 2007, созданная на основе файла X LSM ;

x la — надстройка версии Excel, более ранней, чем Excel 2007, созданной на основе

XLS-файла;

x l l — отдельный скомпилированный файл DLL.

Если щелкнуть на кнопке Автоматизация (Automation), которая появилась в Excel 2002 и более поздних версиях, в открывшемся окне можно выбрать надстройки СОМ. Обра­ тите внимание, что в диалоговом окне Серверы автоматизации (Automation Servers) мо­ жет отображаться очень много файлов, и не все из них являются надстройками СОМ, которые могут работать в Excel.

Надстройку можно зарегистрировать в коллекции Addins с помощью метода Add из коллекции VBA Addins, но нельзя удалить с помощью кода VBA. Можно также открыть надстройку с помощью кода VBA, присвоив свойству in s t a lle d объекта A ddin значение True. Если этому свойству присваивается значение False, надстройка закрывается.

Диспетчер надстроек сохраняет состояние установленных надстроек в реестре Windows после выхода из Excel. Таким образом, все установленные надстройки будут автоматически открыты после повторного запуска Excel.

Установка надстройки

Во избежание путаницы закрывайте рабочую книгу XLSM после установки созданной

на ее основе надстройки.

Для установки надстройки выполните следующие действия.