|
Повторное использование кода в VB
|
|||
---|---|---|---|
#18+
Добрый день. Я написал несколько функций и процедур, которые планируется использовать в нескольких книгах MS Excel. И тут возникает вопрос: каким образом в VB организовать повторное использование кода, не копировать же эти функции во все книги. Знаю что существует такой объект как Module, но не могу найти как его динамически подцепить к книге. Подскажите пожалуйста как это организовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2003, 13:48 |
|
Повторное использование кода в VB
|
|||
---|---|---|---|
#18+
Повторно-используемый код обычно хранится в надстройках. Надстройка - это книга с откомпилированным кодом и, возможно, рабочими листами, используемыми по усмотрению автора, но НЕВИДИМЫМИ юзеру. Надстройки (книги с расширением xla <--eXceL Add-in) хранятся в папке х:\Program Files\Microsoft Office\Office\Library См. в: Э.Уэллс, С.Хешбаргер. Microsoft Excel 97: разработка приложений. пер.с англ.- СПб.: БХВ - Санкт-Петербург, 1998. - 624 с., илл. Глава 13. Распространение приложений и повышение производительности (стр. 578-592) содержит и другие полезные сведения: Использование надстроек Распространение приложений, содержащих несколько файлов Распространение приложений, использующих объекты других OLE-приложений Поддержание ссылок на файлы надстроек Поддержание источников данных для сводных таблиц Установка дополнительных панелей управления Защита и скрытие рабочих листов Проверка установки почтового клиента Изменение и восстановление установок окружения Excel Использование собственных процедур установки ------------ Вопрос к сообществу VBA- и VB-программистов: Встречались ли Вам книги, подобные этому прекрасному руководству по детализации описания объектов MS Office20хх? Такие руководства достойны того, чтобы о них знали многие! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2003, 14:30 |
|
Повторное использование кода в VB
|
|||
---|---|---|---|
#18+
Спасибо :) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2003, 14:49 |
|
Повторное использование кода в VB
|
|||
---|---|---|---|
#18+
Создал значит я функцию открытия файла OpenDialogExecute(ATitle as String) as String и поместил ее в надстройку opendialog.xla в модуль DialogModule, подключил надстройку, как теперь вызвать эту функцию из кода VB? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2003, 10:18 |
|
Повторное использование кода в VB
|
|||
---|---|---|---|
#18+
>Создал я функцию... и поместил ее в надстройку... в модуль DialogModule Public-функции надстройки видны только из модуля ThisWorkbook ("ЭтаКнига" в локализованных версиях). Если надстройка большая (много строк кода), основной код целесообразно вынести в тематические модули, а ThisWorkbook оформить в виде диспетчера, перенаправляющего внешние вызовы во внутренние. >как теперь вызвать эту функцию из кода VB? 1. В отлаженной книге с кодами надстройки до преобразования её в AddIn задайте название надстройки (Title): Файл-->Свойства-->Вкладка "Документ"-->Название-->Моя надстройка Ваша надстройка, естественно, должна быть с понятным целевым именем. Это имя желательно, если есть желание использовать синтаксис п.5 Там же можно ввести и комментарии. 2. Перейти в окно IDE, выделить объект ЭтаКнига, открыть окно его свойств и установить IsAddIn=True 3. Сохранить xla-книгу в папку Library. В книгах с прикладными программами, использующими функции созданной надстройки: 4. В обработчике Workbook_Open проверить существование надстройки: Код: plaintext 1. 2. 3. 4. 5. 6.
5. Подключение к надстройке: Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2003, 13:38 |
|
|
start [/forum/topic.php?fid=60&msg=32310489&tid=2170500]: |
0ms |
get settings: |
12ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
70ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 326ms |
total: | 508ms |
0 / 0 |