C# 使用Microsoft Word在C中打开*.docx#
在做了一些研究之后,您似乎可以使用Word Interlop来操作Word文档(打开、修改、更改等)。像这样:C# 使用Microsoft Word在C中打开*.docx#,c#,ms-word,C#,Ms Word,在做了一些研究之后,您似乎可以使用Word Interlop来操作Word文档(打开、修改、更改等)。像这样: class Program { static void Main(string[] args) { Application ap = new Application(); Document doc = ap.Documents.Open(@"C:\temp\TestDoc.docx"); doc.Activate();
class Program
{
static void Main(string[] args)
{
Application ap = new Application();
Document doc = ap.Documents.Open(@"C:\temp\TestDoc.docx");
doc.Activate();
}
}
但是这样做的话,带有GUI的MS word应用程序本身并没有显示出来。我怀疑它根本就没有开始。我只能在Windows任务管理器的进程选项卡中看到WINWORD.EXE
,但在应用程序选项卡中看不到
我想做的是:
我如何才能做到这一点?除非您需要控制Word应用程序,否则简单可能就足够了:
Process.Start(@"C:\temp\TestDoc.docx")
除非您需要控制Word应用程序,否则简单即可:
Process.Start(@"C:\temp\TestDoc.docx")
改用
这就是您在这里所需要的,并将产生您所追求的行为。请改用
这就是您在这里所需要的一切,并将产生您想要的行为。如果您想继续使用Office Interop,那么我认为您可以在打开文档后将
应用程序
实例的Visible
属性设置为true,从而获得所需的内容
ap.Visible = true;
如果您想继续使用Office Interop,那么我认为您可以通过在打开文档后将
应用程序
实例的Visible
属性设置为true来获得所需的内容
ap.Visible = true;
Word上的这些解决方案与*.docx关联,如果根本没有这种关联(包括OpenOffice),或者Word未安装,会发生什么情况。我需要处理任何异常吗?@PaulL,如果shell找到文件类型的处理程序,我想你不会得到通知。。。埃里克(+1)有你想要的答案。谢谢阿列克谢。你的回答非常直截了当且简单,我选择Eric的解决方案是因为它看起来更健壮。这些解决方案依赖于Word与*.docx关联,如果根本没有这种关联(包括OpenOffice),或者Word没有安装,会发生什么情况。我需要处理任何异常吗?@PaulL,如果shell找到文件类型的处理程序,我想你不会得到通知。。。埃里克(+1)有你想要的答案。谢谢阿列克谢。你的回答非常直接和简单,我选择Eric的解决方案,因为它看起来更健壮。很酷的技巧,谢谢。我尝试了
ap.Documents。用Visible:true
打开,但不起作用。很酷的技巧,谢谢。我尝试了ap.Documents。用Visible:true
打开
,但不起作用。感谢编辑Ryan,阅读和理解更容易。感谢编辑Ryan,阅读和理解更容易。