1

我正在为 Excel 2007 创建一个 VSTO 插件。在我的开发计算机上使用英语(英国)区域设置一切正常。但是,一些最终用户会有其他设置。

将信息添加到数据库时一切正常,但是当我尝试使用英语(美国)区域设置填充数据表时,它会失败。

Dim TA As New DB_InquiriesTableAdapters.qry_InquiriesTableAdapter
Dim DB As New DB_Inquiries.qry_InquiriesDataTable
TA.Fill(DB) 'FAILS HERE as date format is incorrect for regional settings

我曾尝试在插件启动中设置 Thread.CurrentCulture 但这会抛出异常并说:

不支持 MSCORLIB 文化

有谁知道如何解决这个问题?

4

1 回答 1

1

我的原始代码是这样的:

Imports System.Threading
Imports System.Globalization

Public Class MyClass

Public Sub MySub
    Thread.CurrentCulture=New CultureInfo("en-GB")
    Thread.CurrentUICulture=New CultureInfo("en-GB")
    ....
End Sub

End Class

尝试设置当前文化时会抛出异常。

新代码:

Public Class MyClass

Public Sub MySub
    My.Application.SetCulture("en-GB")
    ....
End Sub

End Class

该应用程序是用 VS2013 Professional 编写的 VSTO Excel 插件,该类链接到 Winforms 表单中托管的 WPF UserControl。

希望这有助于更好地解释答案。

于 2013-09-27T22:04:56.457 回答