Process.Start等待excel退出错误

这是我的代码:

Dim sTemplateSharedPath As String = sSharedDrive & ":\Excel Templates\ImportTemplate.xlsx" Dim objProcess As System.Diagnostics.Process Try objProcess = New System.Diagnostics.Process() objProcess.StartInfo.FileName = sTemplateSharedPath objProcess.Start() objProcess.WaitForExit() Catch MessageBox.Show("Could not start process " & sTemplateSharedPath, "Error") End Try 

Excel打开我请求的文件,但系统崩溃在objProcess.WaitForExit() 。我得到的错误是:

没有进程与此对象关联。

我希望系统打开模板,让用户添加他/她的数据,保存并closuresMS Excel。 一旦系统检测到进程不再运行,请指向sTemplateSharedPath并将所有更改导入系统。 如果应用程序的用户界面在用户编辑Excel文档时不响应,那就好了。

在开始这个过程之前,我已经将以下代码添加到上面的代码中了:

 objProcess.StartInfo.UseShellExecute = false 

但是我得到这个错误:

指定的可执行文件不是该OS平台的有效应用程序

我希望有人能够帮助我解决这个问题。

提前致谢。

你有没有尝试打开一个Excel实例首先与文件作为参数?

 Dim sSharedDrive = "C" Dim sTemplateSharedPath As String = "excel.exe" Dim FileParam As String = ControlChars.Quote + sSharedDrive + ":\test new\test.xlsx" + ControlChars.Quote Dim objProcess As System.Diagnostics.Process Try objProcess = New System.Diagnostics.Process() objProcess.StartInfo.FileName = sTemplateSharedPath objProcess.StartInfo.Arguments = FileParam objProcess.Start() objProcess.WaitForExit() Catch Console.WriteLine("Could not start process " & sTemplateSharedPath, "Error") Console.ReadLine() End Try 

我不知道.xlsx文件types是在你的操作系统中定义的。 你可以手动打开.xlsx吗?