Как включить надстройку автоматизации Excel через реестр? - PullRequest
4 голосов
/ 10 июня 2011

У меня есть надстройка Excel Automation, которая зарегистрирована в COM моим установщиком. После регистрации в COM моя надстройка появляется в (для Excel 2007) Параметры Excel> Надстройки> Управление надстройками Excel Перейти ...> Список автоматизации. Пользователи по-прежнему должны перейти в диалоговое окно выше и выбрать мою надстройку, чтобы включить ее.

Можно ли (возможно, с помощью ключа реестра) включить мою автоматическую надстройку программно в моем классе установщика (или в VBA) после регистрации типов в COM?

Заранее спасибо - Фрэнк

1 Ответ

7 голосов
/ 12 июня 2011

Я не сделал этого специально, но ссылка, которую я использую, содержит следующее:

Надстройки автоматизации загружаются так же, как и обычные .xla Надстройки, но используя ProgID вместо имени файла, как в следующем коде:

Sub installAutomationAddIn()
    AddIns.Add Filename:="Excel2007ProgRef.Simple"
    AddIns("Excel2007ProgRef.Simple").Installed = True
End Sub

Если вы создаете процедуру установки для своего надстройки, вы можете написать напрямуюв реестр, чтобы установить надстройку автоматизации как установленную.Для этого вам нужно создать следующую запись реестра (которая уже будет существовать, если вы использовали приведенный выше код).

(In the Registry Key:)
HKEY_CURRENT_USER\SOftware\Microsoft\Office\12.0\Excel\Options

(Create the string value:)
Name = the first unused item in the series: Open, Open1, Open2, etc.
Value = /A "Excel2007ProgRef.Simple"
...