【问题标题】:How to get the user's language in Excel with VBA?如何使用 VBA 在 Excel 中获取用户的语言?
【发布时间】:2020-06-30 01:34:02
【问题描述】:

我需要通过 VBA 在 Excel 中获取用户的语言,因为 Excel 不会自动翻译数据透视表,并且我正在使用 VBA 在数据透视表中进行搜索。

刚刚发现在德语中 Pivot 看起来像这样:

英文是这样的:

我可以考虑一个选项,在 Excel 中编写一个 =VLOOKUP() 公式,然后检查单词是否实际上是“Vlookup”或它们是否是 =SVERWEIS(),并根据结果决定是德语还是英语。

无论如何,这看起来太“丑陋”了。有更好的想法吗?

【问题讨论】:

标签: excel vba


【解决方案1】:

另一种选择是检查Application.International 属性。例如使用xlCountryCode:

Application.International(xlCountryCode)

【讨论】:

    【解决方案2】:

    在使用 2 个 Excel(英语和德语)进行测试后,证明有效的是:

    Application.International(xlCountryCode)

    针对不同的 Excel 国家/地区版本返回以下内容:

    注意 - 以下内容无效且很危险:

    • Application.LanguageSettings.LanguagePreferredForEditing(msoLanguageIDEnglishUS)

    • Application.LanguageSettings.LanguageID(msoLanguageIDInstall)

    • Application.LanguageSettings.LanguageID(msoLanguageIDExeMode)

    可能它看起来不是您的 excel 的语言,而是您的 Windows 的语言,可能不同,就像在我自己​​的 PC 中一样:

    【讨论】:

      【解决方案3】:

      请尝试:

      Application.LanguageSettings.LanguageID(msoLanguageIDInstall)
      

      Application.LanguageSettings.LanguageID(msoLanguageIDExeMode)
      

      万一他们返回不同...

      【讨论】:

      • 对不起,这不起作用。看看我的家用 PC 得到了什么,不幸的是它有德语 Excel 和英语 Windows - imgur.com/a/1TvsyR7
      • 我知道是我在 cmets 中说它应该可以工作...但我没有在另一台 PC 上测试过。
      猜你喜欢
      • 1970-01-01
      • 2014-01-30
      • 2016-01-27
      • 1970-01-01
      • 2018-10-29
      • 2010-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多