C# 如何抑制“VIsual Basic”命令;“宏已禁用”;在C中打开word文档时显示的对话框#
我有一个很烦人的问题 我正在通过c#/COM互操作(word 2007)打开word文档。我想防止宏运行,因为其中一些宏可能会崩溃(缺少书签的旧文件等) 因此,我运行以下代码来抑制所有可能弹出的对话框:C# 如何抑制“VIsual Basic”命令;“宏已禁用”;在C中打开word文档时显示的对话框#,c#,.net,ms-word,automation,ms-office,C#,.net,Ms Word,Automation,Ms Office,我有一个很烦人的问题 我正在通过c#/COM互操作(word 2007)打开word文档。我想防止宏运行,因为其中一些宏可能会崩溃(缺少书签的旧文件等) 因此,我运行以下代码来抑制所有可能弹出的对话框: Word.ApplicationClass wordApplication = new Word.ApplicationClass(); wordApplication.DisplayAlerts = Word.WdAlertLevel.wdAlertsNone; wordApplicati
Word.ApplicationClass wordApplication = new Word.ApplicationClass();
wordApplication.DisplayAlerts = Word.WdAlertLevel.wdAlertsNone;
wordApplication.ShowVisualBasicEditor = false;
wordApplication.AutomationSecurity =
Microsoft.Office.Core.MsoAutomationSecurity.msoAutomationSecurityForceDisable;
Word.Document wordDoc = null;
然后,当我执行以下代码时,我会收到消息框“此项目中的宏被禁用”
我需要抑制这个消息,检测它是否正在显示并“确定”它,或者找到一种方法,在没有VB阻碍的情况下禁用启动宏
有什么想法吗?可能会有帮助。我不知道你怎么把它翻译成C
VBA代码:
WordBasic.DisableAutoMacros 1 ' Disables auto macros
WordBasic.DisableAutoMacros 0 ' Enables auto macros
我不知道这是否会禁用“此项目中的宏已被禁用”消息。我从未用C#实现过此功能,但用VB.NET就可以了。方法如下:我只是想跟进一下,看看下面的答案是否能回答你的问题。托德,这已经是几年前的事了。您知道有什么新的东西可以在C#中使用吗?@ArbiryStringOfLetters不幸的是,没有。Office编程对于VB/VBA来说继续工作得更好/更容易。我想C#在其他任何地方都获得了所有的荣誉,但在办公室里,VB.NET仍然占据着统治地位。
WordBasic.DisableAutoMacros 1 ' Disables auto macros
WordBasic.DisableAutoMacros 0 ' Enables auto macros