Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA for Excel 2010/2013-如何识别系统区域设置_Vba_Excel - Fatal编程技术网

VBA for Excel 2010/2013-如何识别系统区域设置

VBA for Excel 2010/2013-如何识别系统区域设置,vba,excel,Vba,Excel,我正在编写一个包含希伯来语和英语的宏,但是如果系统语言环境设置为希伯来语,我只想显示希伯来语字符,否则我想用英语进行音译 这是因为Excel宏处理语言或至少希伯来语的方式有点古怪(出于某种原因,即使您将键盘设置为希伯来语,并且在几乎每个应用程序中都会输出希伯来语,在您将系统本地设置为希伯来语之前,Excel宏编辑器也不会显示希伯来语,因此电子表格也不会显示希伯来语,即使您直接在单元格中键入,它也会显示良好-这对于Excel 201是正确的0和至少2013年) 在任何情况下,我尝试了几条不起作用的

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

这是因为Excel宏处理语言或至少希伯来语的方式有点古怪(出于某种原因,即使您将键盘设置为希伯来语,并且在几乎每个应用程序中都会输出希伯来语,在您将系统本地设置为希伯来语之前,Excel宏编辑器也不会显示希伯来语,因此电子表格也不会显示希伯来语,即使您直接在单元格中键入,它也会显示良好-这对于Excel 201是正确的0和至少2013年)

在任何情况下,我尝试了几条不起作用的线路,它们是:

Application.LanguageSettings.LanguageID(msoLanguageIDUI)
Application.LanguageSettings.LanguageID(msoLanguageIDInstall)
Application.LanguageSettings.LanguagePreferredForEditing(msoLanguageIDHebrew)
无论是在英语(美国)语言环境还是希伯来语(以色列)语言环境中,它们都无法识别系统语言环境并输出相同的值

有人能告诉我需要怎么做才能通过数字或文本指示系统区域设置吗?

我找到了这个

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

您可以使用
Application.LanguageSettings.LanguageID(msoLanguageIDUI)
使用这些图形更改区域设置

Sub LangCheck()

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

        MsgBox lang_code

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


谢谢(@evoady)但我也尝试过这个,它返回1033(英语(美国)和希伯来语(以色列)。我所在的电脑的区域设置为英语(美国),我远程连接到我的家用电脑,该电脑设置为希伯来语(以色列),因此我可以在这两种语言上进行测试。我通过控制面板“区域和语言”检查区域设置“管理”选项卡下的部分。如果您转到“Excel选项”>“语言”,则可以添加其他语言。如果您将默认office语言更改为希伯来语,是否会返回
1037
?我尝试过(需要重新加载Excel),但没有更改。我注意到出现了错误“查看为每个Microsoft程序安装的显示语言"在“选项>语言”下,只有英语可以解释宏编辑问题-MS想要的不仅仅是在Windows中更改键盘和语言环境设置。他们想让你为Office购买他们的语言包,尽管这对我来说太过分了,因为我不需要字典等。只要知道语言环境设置就可以了奥克。