4

我正在编写一个包含希伯来语和英语的宏,但如果系统语言环境设置为希伯来语,我只想显示希伯来语字符,否则我想用英语音译。

这是由于 Excel 宏似乎处理语言或至少是希伯来语的方式有一个怪癖(出于某种原因,即使您将键盘设置为希伯来语并且将在几乎每个应用程序中输出希伯来语,它也不适用于 Excel 宏编辑器直到您将系统本地设置为希伯来语,因此电子表格也不会显示希伯来语,即使您直接在单元格中输入它也会显示正常 - 至少对于 Excel 2010 和 2013 来说是这样)。

无论如何,我已经尝试了几行无效的行,它们是:

Application.LanguageSettings.LanguageID(msoLanguageIDUI)
Application.LanguageSettings.LanguageID(msoLanguageIDInstall)
Application.LanguageSettings.LanguagePreferredForEditing(msoLanguageIDHebrew)

无论是在英语(美国)语言环境还是希伯来语(以色列)语言环境中,这些都无法识别系统语言环境并输出相同的值。

谁能告诉我我需要做什么来通过数字或文本指示系统区域设置是什么?

4

2 回答 2

1

我在这里找到了这个:

您的第一行代码Application.LanguageSettings.LanguageID(msoLanguageIDUI)给出了1033用于英语(美国)或1037希伯来语的 LCID。

您可以使用这些数字来执行一个简单的IF语句Application.LanguageSettings.LanguageID(msoLanguageIDUI) 来更改语言环境。

于 2013-03-19T13:35:35.520 回答
0
Sub LangCheck()

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

        MsgBox lang_code

End Sub

美国是 1033,希伯来语是 1037,根据这个链接:

MSDN

于 2013-03-19T13:39:05.440 回答