如何使用 VBA 在 Excel 中获取用户的语言?

Vit*_*ata 3 excel vba

我需要通过 VBA 在 Excel 中获取用户的语言,只要 Excel 不会自动翻译数据透视表,并且我正在使用VBA.

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

在此处输入图片说明

而在英语中是这样的:

在此处输入图片说明

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

总之,这看起来太“丑”了。有没有更好的想法?

Jvd*_*vdV 5

另一种选择是检查Application.International财产。例如利用xlCountryCode

Application.International(xlCountryCode)
Run Code Online (Sandbox Code Playgroud)


Vit*_*ata 5

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

Application.International(xlCountryCode)

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

注意 - 以下操作不起作用并且很危险:

  • Application.LanguageSettings.LanguagePreferredForEditing(msoLanguageIDEnglishUS)

  • Application.LanguageSettings.LanguageID(msoLanguageIDInstall)

  • Application.LanguageSettings.LanguageID(msoLanguageIDExeMode)

可能它看的不是你的 excel 的语言,而是你的 Windows 的语言,这可能是不同的,就像在我自己​​的电脑上一样:

在此处输入图片说明