无需用户交互即可通过C#使用msgbox运行Word VBA

时间:2011-03-01 13:56:42

标签: c# ms-word ms-office office-interop word-vba

我通过C#在Word文档中运行一个宏,宏基本上创建了一个文档的副本,并添加了几个属性。

但问题是,我的宏在代码的某个点有一个确认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 个答案:

答案 0 :(得分:1)

因为它是你的宏,所以只需更改它就不会显示确认msgbox。

如果在需要确认msgbox的另一个上下文中需要宏,请在宏代码中添加一个布尔标志useConfirmationMsgBox as Boolean,并仅在此标志为true时显示MsgBox。然后,提供两个不同的入口点,一个是useConfirmationMsgBox设置为true,另一个是设置为false。