Как я могу проверить наличие / разрешение макроса в моей надстройке? - PullRequest
1 голос
/ 16 февраля 2011

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

Application.Run(MACRO_NAME);

Где Application - это экземпляр Microsoft.Office.Interop.Excel.Application.Я хотел бы иметь возможность проверить, существует ли макрос (и есть ли у меня разрешение на его запуск), прежде чем сделать вызов Run().Сейчас я просто помещаю вызов в блок try, но мне неприятно использовать обработку исключений для управления программой.

Есть ли способ узнать, какие макросы доступны для запуска?

1 Ответ

0 голосов
/ 26 апреля 2011

Вы всегда можете проверить конкретный модуль, посмотрев в this.Application.VBProject.VBComponents (поиск по VBIDE.VBComponent.Name)

Вы также можете искать строку в коде VBComponent, чтобы убедиться, что она есть. Не намного больше вы можете сделать.

Тем не менее, попробовать-поймать это совершенно прекрасный подход. Так много вещей может испортиться, что вам все равно понадобится обработка исключений. Я бы придерживался этого.

...