我想使用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
,但它不起作用。我认为我在过程中分配参数或分配了无效参数时出错了。我不知道这里有什么问题。
任何帮助将不胜感激
谢谢&方面。
答案 0 :(得分:2)
Arguments
参数仅在FileName
是可执行程序时使用。当FileName
参数是文档文件时,将使用来自文件类型关联的命令行(来自注册表),并忽略Arguments
参数。
您需要构建整个命令行:
Process.Start("winword", @"/n ""D:\MyWordFile.doc""");