Process.Start等待excel退出错误

Process.Start wait for excel to exit error

这是我的代码:

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.

我希望系统打开模板,让用户添加 his/her 数据,保存并关闭 MS Excel。一旦系统检测到进程不再是 运行,指向 sTemplateSharedPath 并将所述更改导入系统。如果在用户编辑 excel 文档时应用程序的 UI 没有响应,这很好。

我在开始这个过程之前在上面的代码中添加了以下内容:

objProcess.StartInfo.UseShellExecute = false

但是我得到了这个错误:

the specified executable is not a valid application for this os platform

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

提前致谢。

您是否尝试先使用文件作为参数打开一个 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

我不知道您的 os 中是否定义了 .xlsx 文件类型。您可以手动打开 .xlsx 吗?