Подключение библиотек в VBA — VBA load object library

VBA Load Object Library

По долгу службы частенько приходиться использовать дополнительные библиотеки в VBA. А так как потом файлы расходятся по разным компьютерам и не факт, что подключение object library будет сохранено, то пришлось использовать проверку на подключение и само подключение.

Поиск по интернету конечно же не дал окончательного решения и, как всегда, мне пришлось собирать все по крупицам. Первым делом я нашел куски кода на проверку и само подключение библиотек (VBA load object library):

Как видно из кода, для определенной библиотеки object library есть некий уникальный идентификатор, который непонятно где взять…

Поиск дал расплывчатые результаты, но вскоре я натолкнулся на VBA макрос на Excel, который по теории должен был вывести всю необходимое информацию по подключенным библиотекам (VBA load object library).
Спустя пару минут я понял, что макрос вываливается с ошибкой:

VBA load object library - GET GUID error

Повезло, что пояснение к ошибке нормальное и спустя еще пару минут я смог найти решение проблемы. Достаточно было включить необходимую функцию в настройках самого Excel.
Для Excel 2012 необходимо сделать следующее: Файл — Параметры — Центр управления безопасностью, там должна быть гениальная кнопка «Параметры центра управления безопасностью…», нажимаем ее и находим пункт «Параметры макросов» и ставим галочку «Доверять доступ к объектной модели проектов VBA», см. скриншоты:

VBA load object library - settings_01 VBA load object library - settings_02

После этого макрос прекрасно отработал и показал результат. Для его использования достаточно просто подключить необходимую библиотеку в ручном режиме и посмотреть ее ID, после этого использовать его в коде.

Ну и напоследок, сам макрос, который выводит GUID:

 

  • Максим

    Спасибо за статью, помогла в решении проблемы.

  • 4man

    Что за редактор вы используете с темным экраном?

    • SLASH_CyberPunk

      Это просто плагин в блоге для удобного вывода кода