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)の LCID を示します。10331037

これらの図を使用して、ロケールを変更するために使用する簡単な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 に答える