singleton method WIN32OLE.locale=

locale=(lcid) -> nil[permalink][rdoc]

WIN32OLEがオートメーション呼び出し時に設定するロケール識別子(LCID)を設定します。

OLEオートメーションでは、UNIXで利用される"ja_JP"などの国名と言語名を「_」で接続した文字列ではなく、32ビット整数で示します。32ビットの内訳は上位 16ビットが予約領域で0、下位16ビットが言語ID(LANGID)です。LANGIDは、0〜 9ビットでプライマリ言語ID、10〜15ビットでサブ言語IDを示します。

[PARAM] lcid:
新たに設定するロケール識別子を整数で指定します。
[EXCEPTION] WIN32OLERuntimeError:
システムにインストールされていないロケールを指定すると発生します。
WIN32OLE.locale = 1033 # set locale English(U.S)
obj = WIN32OLE_VARIANT.new("$100,000", WIN32OLE::VARIANT::VT_CY)

オブジェクトがサポートしていないロケールを設定した場合、オブジェクトのメソッド呼び出し時にDISP_E_UNKNOWNLCID(HRESULT error code:0x8002000C)や、TYPE_E_INVDATAREAD(HRESULT error code:0x80028018)などを理由としたWIN32OLERuntimeError例外となります。ほとんどすべての場合において、既定値を変更する必要はありません。