2016-11-03 92 views
0

我试图打开Excel工作簿时出现错误:Excel的互操作错误在打开工作簿

var workbook = Workbooks.Open(filePath) 

之后,每次我有时间:

从HRESULT异常:0x80020005(DISP_E_TYPEMISMATCH)

什么是有趣的,当即时通讯Thread.Sleep(2000年)之前“打开”功能 一切工作正常:

Thread.Sleep(2000); 

var workbook = Workbooks.Open(filePath) 

代码正在主线程上运行。

任何想法应该导致这种行为?

谢谢!

+0

如果睡眠正在修复它,那么你可能需要向我们展示以前的调用,比如'DoAsyncTaskThatOpensExcelButTakesASecondBeforeItsDone()',比如'Process.Start()'(粗略地说,当过程存在时认为它会返回,这意味着Excel已经准备好与之交互了)。 – Quantic

+0

你如何打开Excel? – Hambone

回答

0

我修复了这个问题。

Excel工作簿打开两次,每次我调用releaseCom方法。