2011-05-11 56 views
6

我想通过interop打开word文档,word必须在过程中可见。它看起来相当直接,因为有一个参数叫做“在word文档的open函数中可见”,但word在后台。我是什么失踪如何通过interop打开文档时可以看到文字?

static void Main(string[] args) 
{ 
    Microsoft.Office.Interop.Word.Application word = null; 
    word = new Microsoft.Office.Interop.Word.Application(); 

    object inputFile = "c:\\test.docx"; 
    object confirmConversions = false; 
    object readOnly = true; 
    object visible = true; 
    object missing = Type.Missing; 

    // Open the document... 
    Microsoft.Office.Interop.Word.Document doc = null; 
    doc = word.Documents.Open(
     ref inputFile, ref confirmConversions, ref readOnly, ref missing, 
     ref missing, ref missing, ref missing, ref missing, 
     ref missing, ref missing, ref missing, ref visible, 
     ref missing, ref missing, ref missing, ref missing); 
    doc.Activate(); 

    Console.ReadKey(); 
} 
+2

如果您使用C#4.0,请考虑使用动态http://www.devx.com/dotnet/Article/42590 – 2011-05-11 13:02:31

+0

谢谢。这是非常有用的信息略去。 – 2011-05-11 21:40:36

回答

6

嗯Apparantly两个应用程序和文档具有可见因此,解决方案是增加行(doc.Activate()之前):。

word.Visible = true;