这个陈述中的问题是什么?

时间:2010-10-11 14:49:56

标签: c# .net ms-word c#-4.0

我正在编写一个示例应用程序,将DOC文件转换为PDF。在这样做时我遇到了错误。

// Creating the instance of WordApplication
MSDOC = new Microsoft.Office.Interop.Word.ApplicationClass();
try
{
    MSDOC.Visible = false;
    MSDOC.Documents.Open(ref Source, ref Unknown,
     ref Unknown, ref Unknown, ref Unknown,
     ref Unknown, ref Unknown, ref Unknown,
     ref Unknown, ref Unknown, ref Unknown,
     ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown);
    MSDOC.Application.Visible = false;
    MSDOC.WindowState = Microsoft.Office.Interop.Word
                                 .WdWindowState.wdWindowStateMaximize;
    object format = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatPDF;
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message, "Message from Sample");
}

这是我收到错误的声明:

object format = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatPDF;
  

错误互操作类型   'Microsoft.Office.Interop.Word.ApplicationClass'   无法嵌入。使用适用的   接口改为。

3 个答案:

答案 0 :(得分:14)

您是否尝试过执行错误消息提示的内容?替换

MSDOC = new Microsoft.Office.Interop.Word.ApplicationClass();

Microsoft.Office.Interop.Word.Application MSDOC;
MSDOC = new Microsoft.Office.Interop.Word.Application();

答案 1 :(得分:6)

尝试使用MSDOC = new Microsoft.Office.Interop.Word.Application();代替.ApplicationClass()

答案 2 :(得分:0)

如果您不需要自定义单词应用事件处理,请按照0xA3的建议执行操作 否则按原样保留ApplicationClass,但转到项目的参考:  选择MIcrosoft.Office.Interop.Word,  属性,并将嵌入的形式更改为Ture为False  一定要在office 2003或它的PIA中添加office.dll