Перейти на главную страничку сайта (список статей, файлы для скачивания)

ФОРУМ (здесь можно обсудить эту статью, а также любые проблемы программирования на различных макроязыках и в скриптовых средах)

Плагин oc2vba для платформы OpenConf

Плагин служит для сопряжения OpenConf с VBA и возможности создания графического интерфейса для скриптов. Вы можете скачать плагин здесь (версия 1.0.0.3, 62 604 байт). Автор плагина - Александр Орефков.

При написании скриптов для OpenConf одна из сложностей - это организация взаимодействия скрипта с пользователем. Кроме InputBox, в VBScript практически никаких других возможностей для ввода информации нет. Кроме того, хочется иметь и Intellisense, и просмотр объектной модели OpenConf. Этих недостатков нет в среде VBA, которая к тому же многим знакома и привычна.

Для интеграции VBA со своим приложением Microsoft предлагает использовать "Application Programmability Components" (APC), входящий в "VBA SDK". Для распространения дистрибутива VBA и APC со своим приложением необходимо получить лицензию от MS. Стоимость лицензии не разглашается и определяется индивидуально. Если у вас уже установлено какое-либо приложение, интегрированное с VBA (кроме MS Office), то всё необходимое для работы у вас уже есть.

Чтобы проверить, установлен ли у вас APC и VBA, посмотрите папку "Program Files\Common Files\Microsoft Shared\VBA\VBA6". Если в ней есть файл apc60.dll или apc63.dll, значит, плагин у вас заработает. Из приложений, устанавливающих VBA, навскидку можно назвать Visio, AutoCAD, Corel Draw.

Итак, если VBA и APC у вас уже установлены, то можно начинать использовать плагин. Если у вас установлен apc63.dll, то вы должны использовать oc2vba63.dll, а если у вас установлен apc60.dll, то вы должны использовать oc2vba60.dll. Чтобы установить плагин, просто скопируйте DLL-файл плагина в папку "config", расположенную в каталоге исполняемых файлов 1С:Предприятия (чаще всего это C:\Program Files\1Cv77\bin\config).

При загрузке плагин создаёт подключение к среде VBA и пытается загрузить VBA-проекты по умолчанию. Это файлы openconf.ocp в каталоге ИБ и в каталоге BIN. Далее, если в проекте есть макрос с именем main, плагин запустит его.

Плагин предоставляет три макроса, которые можно вызвать через меню "OpenConf" - "Макросы" - "Выполнить...", или непосредственно с закладки "OpenConf" в окне конфигурации:

Также у плагина из скриптов доступны следующие методы и свойства:

В дистрибутив плагина входит пример проекта на VBA, openconf.ocp. Расположите его в каталоге BIN 1С:Предприятия. В примере показывается, как подключиться к событиям Конфигуратора, а также есть пример работы с формой VBA, демонстрирующий вставку текста формирования новой колонки Таблицы значений.

Анализатор взаимосвязей процедур

Этот VBA-проект для плагина oc2vba призван упростить анализ незнакомых модулей и выводит дерево вызова процедур (какие процедуры вызываются в процедуре, далее какие вызываются в них). Вы можете скачать проект здесь (36 617 байт). Ник автора проекта - nikolka.

Установка: вы можете просто подменить файл openconf.ocp в каталоге BIN. Другой способ: создайте в папке BIN\config папку oc2vba_Projects и скопируйте туда ocp-файл проекта. После этого создайте в папке BIN\config\Scripts скрипт oc2vba.vbs следующего содержания:

Private Sub Init
    On Error Resume Next
    Set oc2vba = Plugins("oc2vba")
    if oc2vba Is Nothing Then
        message "Плагин ""oc2vba"" не загружен", mExclamation
        Scripts.UnLoad SelfScript.Name
        Exit Sub
    End If
    on error goto 0 

    Set fso = CreateObject("Scripting.FileSystemObject")
    Set files = fso.GetFolder(bindir & "\Config\oc2vba_Projects").Files
    For Each file in files
        oc2vba.LoadProject file.path
    Next
End Sub
Init()

Такой скрипт будет автоматически подгружать все файлы проектов из каталога BIN\config\oc2vba_Projects при запуске Конфигуратора (файл openconf.ocp из каталога BIN, само собой, будет загружаться тоже).

Чтобы начать работать, находясь в тексте какого-либо модуля, необходимо вызвать макрос ShowMacrosDialog плагина oc2vba, и выбрать макрос TreeMethods из проекта TreeMethodProc. С помощью меню "OpenConf" - "Макросы" - "Клавиатура..." можно назначить быструю клавишу для макроса ShowMacrosDialog (например, Ctrl+7).

В выпадающем списке "Название метода" будут содержаться все функции и процедуры данного модуля. Ниже будет отображено дерево их вызовов. При установке курсора на метод в дереве происходит обновление списков "Вызываются процедуры" и "Используется в процедурах", а также позиционирование в тексте самого модуля.


Людоговский Александр

Перейти на главную страничку сайта (список статей, файлы для скачивания)

© 2007 http://www.script-coding.com При любом использовании материалов сайта обязательна ссылка на него как на источник информации, а также сохранение целостности и авторства материалов.