Word Interop - 停止默认程序对话框

时间:2014-05-01 09:44:12

标签: c# vb.net ms-word office-interop com-interop

我正在程序中使用Microsoft Word Interop,我正在尝试创建一个单词应用程序,然后用它来打开一个文档并读取它所拥有的书签数量。

问题在于,当我在一台机器上创建word应用程序时,word不是每个文档类型的默认程序(测试时我将.rtf设置为用wordpad打开)我得到一个对话框询问我是否我想更改单词的默认程序设置。虽然此对话框仍处于打开状态,但我的代码正在尝试打开并访问文档的书签,这给了我一个COMException,其中显示“调用被被调用者拒绝”。

我已经很好地了解了MSDN关于互操作的文档,但我找不到任何有用的东西。

我的问题是:在制作新应用程序时,是否有某种方法可以阻止此对话框出现?可能会告诉Word不要检查这个?

由于

1 个答案:

答案 0 :(得分:0)

尝试这样的事情:

Microsoft.Office.Interop.Word.Application word= new Microsoft.Office.Interop.Word.Application();    
Document doc = word.Documents.Open(ref filename, ref oMissing,
                    ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
                    ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
                    ref obOpenAndRepair, ref oMissing, ref oMissing, ref oMissing);       
word.DisplayAlerts = WdAlertLevel.wdAlertsNone;

没有对此进行测试,但WdAlertlevel应设置为none以避免显示警报。 WDAlertLevel是Microsoft.Office.Interop.Word的枚举部分