用户的语言设置导致以编程方式使用 Excel 时出错

问题描述 投票:0回答:1

有没有办法在函数执行期间更改 Excel 应用程序/工作簿的语言?我面临的问题如下:

在我的组织中,当然有很多工作必须在 Excel 表格中显示。我们有函数(用 APL 编写)来完成大部分计算,然后将结果导出到 Excel 工作表。我们现在面临的问题是,我们的代码功能取决于用户的语言设置,因为我们在以下示例中遇到错误。

假设我们要将值 1 放入范围 A1:B2 和 A5:B10 中,我们可以通过一个命令来完成此操作

ActiveSheet.Range[⊂'A1:B2;A5:B10'].Value2←1

如果 Excel 是德语,则效果很好,但在我将 Excel 切换为英语后,出现错误。问题出在分号“;”上代码中的内容是根据德国设置编写的。当我将其更改为逗号时

ActiveSheet.Range[⊂'A1:B2,A5:B10'].Value2←1

我设法让它以英语工作,但不能以德语工作。

所以我的问题是:是否可以在函数中获取和设置Excel的语言?如果不是德语,那么我会将其切换为英语,完成我的工作,最后将其切换回原来的状态。

我用 APL 编写了这个示例,因为它是我们使用的示例,但使用其他语言(例如 VB)的解决方案也可以,因为我猜这更像是一个 Excel 问题。

excel vb.net apl
1个回答
0
投票

这是可行的,但它很痛苦,并且有很多警告。 对于 VBA,您必须使用类似以下内容:

Dim delimiter As String

' Determine the delimiter based on the Excel language
If Application.LanguageSettings.LanguageID(msoLanguageIDUI) = 1031 Then
    ' German Excel
    delimiter = ";"
Else
    ' Default to English (or other languages that use commas)
    delimiter = ","
End If

这只是一切的开始。 我想你会玩得很开心的。 享受吧。

© www.soinside.com 2019 - 2024. All rights reserved.