的Process.Start等待Excel以退出错误
问题描述:
这里是我的代码:的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()
part.The错误的系统崩溃,我得到的是以下几点:
No process is associated with this object.
我希望系统打开模板,让用户添加他/她的数据,保存并关闭MS Excel的。一旦系统检测到进程不再运行,请指向sTemplateSharedPath
并将所有更改导入系统。如果在用户编辑Excel文档时应用程序的UI无响应,那很好。
我已经添加了以下到上面的代码之前,我开始的过程:
objProcess.StartInfo.UseShellExecute = false
但后来我得到这个错误:
the specified executable is not a valid application for this os platform
我希望有人能够给asssist我与这个问题。
在此先感谢。
答
您是否尝试先使用文件作为参数打开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文件类型是否在你的操作系统中定义。你能手动打开.xlsx吗?
谢谢,参数方法似乎已经修复了它! – J2H656