如何在新实例中加载MS Word文件?

时间:2014-09-20 04:01:25

标签: c# process ms-word command-line-arguments

我想使用Process.Start()方法在不同的实例中加载word文档。

这是我的代码。

ProcessStartInfo info = new ProcessStartInfo();
info.FileName = @"D:\MyWordFile.doc";
info.Arguments = "/n"; //I have tried like this but it doesn't work
Process p = new Process();
p.StartInfo = info;
p.Start();

好的,我正在努力保持这个过程,直到文档没有使用p.WaitForExit()方法退出。当没有加载单词应用程序时,它工作正常。如果Word已经在任务管理器中加载,那么它会抛出错误No process is associated with this object.我认为这是因为它只是在现有进程中加载​​文档。所以,我想我可以通过在新的Word实例中加载我的word文档来解决这个问题。

我还阅读了support文档并找到了一些允许我在新实例中加载word文件的参数。我在/n属性中尝试了ProcessStartInfo.Argument,但它不起作用。我认为我在过程中分配参数或分配了无效参数时出错了。我不知道这里有什么问题。 任何帮助将不胜感激

谢谢&方面。

1 个答案:

答案 0 :(得分:2)

Arguments参数仅在FileName是可执行程序时使用。当FileName参数是文档文件时,将使用来自文件类型关联的命令行(来自注册表),并忽略Arguments参数。

您需要构建整个命令行:

Process.Start("winword", @"/n ""D:\MyWordFile.doc""");