如何解決调用Excel自身的一个bug??

FrankyChan 2008-11-07 12:43:57
有时调用excel.Application.Workbooks.Add(Missing.Value)会遇到如下错误:
Exception:Old format or invalid type library. (Exception from HRESULT: 0x80028018 (TYPE_E_INVDATAREAD))
这是Excel自身的一个bug,当本地系统环境被设置成非英文的,而Excel是英文的时候,就会出现,需要临时设定英文环境,代码如下:

c#写法是
先临时更改区域语言
System.Globalization.CultureInfo CurrentCI = System.Threading.Thread.CurrentThread.CurrentCulture;
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
再改回之前的区域语言
System.Threading.Thread.CurrentThread.CurrentCulture = CurrentCI;


请问VB2005下应如何写?谢谢.
...全文
115 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
superb_aby 2009-07-16
  • 打赏
  • 举报
回复
.........
qinhl99 2008-11-07
  • 打赏
  • 举报
回复
也不见得这就是一个bug
FrankyChan 2008-11-07
  • 打赏
  • 举报
回复
成功. thank you.
lovehongyun 2008-11-07
  • 打赏
  • 举报
回复
试试
'先临时更改区域语言 
Dim CurrentCI As System.Globalization.CultureInfo = System.Threading.Thread.CurrentThread.CurrentCulture
System.Threading.Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("en-US")
'再改回之前的区域语言
System.Threading.Thread.CurrentThread.CurrentCulture = CurrentCI
yanlongwuhui 2008-11-07
  • 打赏
  • 举报
回复
'先临时更改区域语言
Dim CurrentCI As System.Globalization.CultureInfo = System.Threading.Thread.CurrentThread.CurrentCulture
System.Threading.Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("en-US")
'再改回之前的区域语言
System.Threading.Thread.CurrentThread.CurrentCulture = CurrentCI
yanlongwuhui 2008-11-07
  • 打赏
  • 举报
回复
'先临时更改区域语言
Dim CurrentCI As System.Globalization.CultureInfo = System.Threading.Thread.CurrentThread.CurrentCulture
System.Threading.Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("en-US")
'再改回之前的区域语言
System.Threading.Thread.CurrentThread

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧