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()
Часть. Ошибка, которую я получаю, заключается в следующем:
Ни один процесс не связан с этим объектом.
Я хочу, чтобы система открыла шаблон, попросила пользователя добавить свои данные, сохранить и закрыть MS Excel. Как только система обнаружит, что процесс больше не выполняется, укажите на sTemplateSharedPath
и импортировать указанные изменения в систему. Хорошо, если пользовательский интерфейс приложения не отвечает, когда пользователь редактирует документ Excel.
Я добавил следующее в код выше, прежде чем начать процесс:
objProcess.StartInfo.UseShellExecute = false
Но тогда я получаю эту ошибку:
указанный исполняемый файл не является допустимым приложением для этой платформы ОС
Я надеюсь, что кто-нибудь сможет помочь мне с этим вопросом.
Заранее спасибо.
1 ответ
Вы пытались сначала открыть экземпляр 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 вручную?