Excel API错误

我正在使用一个标准化的工具来访问Excel API(软件机器人)。 但是,升级到Office 2013后,我尝试打开工作簿时出现错误。 错误是这样的:

内部:无法执行代码阶段,因为代码阶段引发的exception:旧格式或无效types库。 (来自HRESULT的exception:0x80028018(TYPE_E_INVDATAREAD))

有相当多的代码,我不能确定哪一个失败,但我认为这是3行(编辑我已经证实,这确实是这些代码行失败):

Dim wb as Object = GetInstance(handle).Workbooks.Open(filename) name = wb.Name wb.Activate() 

我也尝试在CultureInfo上添加一些行(这没有帮助):

 Dim wb as Object = GetInstance(handle).Workbooks.Open(filename) Dim ci As System.Globalization.CultureInfo = New System.Globalization.CultureInfo("en-US") wb.GetType().InvokeMember("Add", Reflection.BindingFlags.InvokeMethod, Nothing, wb, Nothing, ci) name = wb.Name wb.Activate() 

我已经研究了这个错误(相当多),并发现了很多文章/文章的build议一些区域设置( 如从微软这一个 )。 我检查了我的Windows设置为英文(美国),我也相信这是Excel的情况。 但是我不确定如何检查Excel的语言。

PS谁能告诉我,如果这3行代码是VBA或VB.NET?

经过几个小时的研究(和试验和错误),我设法find一个解决scheme。 只需要一行代码(这是最新的一行):

 System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US") Dim wb as Object = GetInstance(handle).Workbooks.Open(filename) name = wb.Name wb.Activate()