Управление библиотеками
Давайте теперь займемся созданием, перемещением и переименованием библиотек и модулей. Рассматривая управление библиотеками, важно сначала понять некоторые основы, которые уже обсуждались:
- Контейнер библиотек содержит ноль или более библиотек.
- Каждая библиотека содержит ноль или более модулей и диалогов.
- Каждый модуль содержит ноль или более макросов.
- Приложение – контейнер библиотек, называемых Мои макросы и Макросы OpenOffice.org. Библиотеки, сохраненные в приложении, глобально доступны для всех макросов.
- Каждый документ – контейнер библиотек.
- Библиотека по имени Standard является особенной, она всегда существует и не может быть перезаписана. Я не советую использовать библиотеку Standard.
- Всегда давайте значащие имена библиотекам и модулям, которые Вы создаете. Например, Library1 и Module4 не значащие названия, а AXONInvoiceForm1 может быть более описательным и полезным.
Содержание
Как сохраняются библиотеки
Библиотеки OpenOffice.org сохраняются как файлы XML, которые являются легко редактируемыми при использовании любого текстового редактора. Другими словами, легко случайно повредить ваши файлы. Ручное редактирование ваших внешних библиотек вообще считается глупым, я имел по крайней мере один случай, где это требовалось, потому что OOo был неспособен загрузить модуль, который содержал синтаксическую ошибку.
Библиотеки приложения
Каждая библиотека приложения сохранена в одном каталоге, а каждый модуль и диалог содержатся в одном файле. Диалог Параметры (Сервис → Параметры → OpenOffice.org → Пути) содержит запись, которая указывает где располагаются библиотеки. Глобальные библиотеки, которые включены в OpenOffice.org, сохраняются в отделенном основном каталоге под каталогом, в котором установлен OOo. Например:
1 2 3 |
C:\Program Files\OpenOffice.org 2\share\basic /usr/local/OpenOffice.org 2/share/basic |
Библиотеки, которые Вы создаете, сохраняются в различных каталогах. На Windows-компьютере скорее всего однопользовательская установка, а на Linux-компьютере – многопользовательская установка. Параметры, которые Вы задаете, устанавливая OOo, определяют местоположение ваших личных библиотек. Вот два примера:
1 2 3 |
C:\Program Files\OpenOffice.org 2\user\basic /home/user/OpenOffice.org 2/user/basic |
Листинг разделяемых каталогов показывает один файл для каждой библиотеки приложения, включенных в OOo. Пользовательский каталог, однако, немного более интересен:
Элемент | Описание |
---|---|
dialog.xlc | XML-файл, который ссылается на каждый файл диалога, известный этому пользователю в OpenOffice.org. |
script.xlc | XML-файл, который ссылается на каждый файл библиотеки, известный этому пользователю в OpenOffice.org. |
Standard | Каталог, содержащий библиотеку Standard. |
Pitonyak | Каталог, содержащий библиотеку с кодом, который создал Эндрю Питоньяк. |
PitonyakDialogs | Каталог, содержащий библиотеку с некоторым кодом и диалогом. |
Файлы dialog.xlc и script.xlc содержат ссылки на все диалоги и библиотеки, которые известны OOo. Видимые библиотеки — которые видны в диалогах Макрос и Управление макросами — построены из файлов dialog.xlc и script.xlc. Если эти два файла будут перезаписаны, то OOo не будет знать о ваших личных библиотеках, даже если они будут существовать.
Диалог Управление макросами показывает, что библиотека PitonyakDialogs содержит один диалог, перейдите на вкладку Модули, чтобы увидеть модули кода. Ниже таблица содержит листинг файлов в каталоге PitonyakDialogs. Заметьте, что каждый модуль и диалог в библиотеке имеют соответствующий файл.
Файл | Описание |
---|---|
dialog.xlb | Ссылается на диалоги, содержавшиеся в этой библиотеке. |
script.xlb | Ссылается на модули, содержавшиеся в этой библиотеке. |
Module1.xba | BASIC-код в модуле по имени Module1. |
SimpleObjectBrowserCode.xba | BASIC-код в модуле по имени SimpleObjectBrowserCode. |
SimpleObjectBrowser.xdl | Диалог в модуле по имени SimpleObjectBrowser. |
Файлы dialog.xlc и script.xlc из таблицы 1 ссылаются на файлы dialog.xlb и script.xlb в таблице 2. Вообще, ни один из этих файлов не должен изменяться вручную, но в критическом положении они могут быть изменены вручную для исправления определенных типов ошибок.
Библиотеки документа
Документ OpenOffice.org, когда сохраняется на диск, сохраняется в стандартном формате ZIP. Любая программа, которая может просматривать и извлекать файлы ZIP, может использоваться для просмотра документа OOo — однако, некоторые программы будут требовать, чтобы Вы изменили расширение файла на ZIP.
После распаковки документа OOo Вы найдете файлы, которые содержат исходное содержание, стили и параметры настройки. Извлеченный документ также содержит три каталога. Каталог META-INF ссылается на все другие файлы, вставленные изображения, коды библиотек и диалогов. Каталог Dialogs содержит все встроенные диалоги, а каталог Basic содержит все встроенные библиотеки. Заметьте, что библиотеки, содержавшиеся в контейнере прикладного уровня сохраняются немного в другой конфигурации, чем библиотеки, содержащиеся в документе.
Как эксперимент, можно взять документ, который содержит многочисленные элементы управления, вызываемые определенной библиотекой. Разархивируем документ и затем используем инструмент поиска текста, чтобы найти все ссылки на определенную библиотеку по имени CH03. После ручного изменения каждого вхождения текста CH03 на CH04 заархивируем каталог назад в единый файл, и OOo будет в состоянии прочитать и использовать файл. Т.о. можно успешно изменять название содержавшейся библиотеки и каждой ссылки на элементы управления, редактируя определения XML.
Использование диалога Управление макросами
Диалог Управление макросами (Сервис → Макрос → Управление макросами → OpenOffice.org Basic → Управление) в состоянии удовлетворить потребности большинства пользователей по управлению модулями и библиотеками. Вкладка Модули диалога Управление макросами обеспечивает возможность создавать и удалять модули. Диалог Управление макросами также имеет вкладку Библиотеки, используемую для создания и удаления библиотек. Вкладка Библиотеки содержит сверху поле с выпадающим списком, которое используется для выбора контейнера библиотек. Другими словами, Вы можете выбрать определенный открытый документ или библиотеку приложения.