Excel VBA 本地化问题 - WIN 8.1 Enterprise、Excel 2007

Excel VBA 本地化问题 - WIN 8.1 Enterprise、Excel 2007

我在使用 GER 版 Excel 创建的 VBA 宏时遇到了文件问题。此宏正在测试“Alle”的数据透视表项,但当有人打开 EN 版文件时,数据透视表项显然不是“Alle”而是“All”,因此宏不起作用。“leer”-“blank”或“#N/A”-“#NV”等也存在同样的问题。有人遇到过这个问题吗?有没有什么解决方案?是否可以锁定工作簿的语言设置,以便“Alle”不会更改为“All”?或者还有其他可行的解决方案?

答案1

Dim loc As Long
loc = Application.LanguageSettings.LanguageID(msoLanguageIDUI)

If loc = 1033 Then
    'english code here
ElseIf loc = 1031 Then
    'german code here
End If

这里是区域设置 ID 的 MSDN 链接。

相关内容