使用公式来获取当前文化以进行本地化

时间:2015-02-25 09:14:22

标签: excel localization excel-formula globalization

有没有办法如何使用Excel中的公式使用任何VBA代码来确定当前系统文化?

我想象这样简单的事情:

IF(CULTURE="sk-SK","Prehľad","Overview")

或类似的东西对我有用:

IF(CURRENCYSIGN="€","Prehľad","Overview")

我正在寻找一种全球化XLSX文件的简单方法,而无需任何额外的资源或文件。

1 个答案:

答案 0 :(得分:3)

不,没有VBA就无法获得系统语言设置。没有内置功能。但是如果你考虑UDF,那就有一个解决方案:

Public Function GetLang()
    GetLang = Application.LanguageSettings.LanguageID(msoLanguageIDUI)
End Function

然而,在你的帮助下,我们找到了一个技巧。您可以通过分析公式文本来猜测系统语言(仅在Excel 2013中):

A1=TODAY()
=IF(FORMULATEXT(A1)="=TODAY()",[some logic for English system],[some logic for non-English system])

或者通过分析当地月份名称:

=IF(TEXT(1,"mmmm")="January",[some logic for English system],[some logic for non-English system])