Запустите Word VBA с msgbox через C # без взаимодействия с пользователем - PullRequest
0 голосов
/ 01 марта 2011

Я запускаю макрос в документе Word через C #, макрос в основном создает копию документа и добавляет еще пару атрибутов.

Но проблема в том, что мой макрос имеет сообщение msgbox для подтверждения в некоторой точке кода, которая требует взаимодействия с пользователем.

Я использую приведенный ниже код, полученный с веб-сайта MS. Итак, вопрос в том,

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

private void RunMacro(object oApp, object[] oRunArgs)
{
    oApp.GetType().InvokeMember("Run",
        System.Reflection.BindingFlags.Default |
        System.Reflection.BindingFlags.InvokeMethod,
        null, oApp, oRunArgs);
}

1 Ответ

1 голос
/ 01 марта 2011

Поскольку это ваш макрос, просто измените его, чтобы он не отображал сообщение с подтверждением.

Когда вам нужен макрос в другом контексте, где должно появиться сообщение с подтверждением, добавьте логический флаг useConfirmationMsgBox as Boolean к вашему коду макроса и отображайте MsgBox, только когда этот флаг равен true. Затем предоставьте две разные точки входа, одну, где useConfirmationMsgBox имеет значение true, а другую - false.

...