Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > win32oleライブラリ > WIN32OLE::VARIANTモジュール

module WIN32OLE::VARIANT

クラスの継承リスト: WIN32OLE::VARIANT

要約

OLEオートメーション型を指定するための定数を定義したモジュールです。

WIN32OLE::VARIANTは、WIN32OLE_VARIANTオブジェクトの作成時や、 WIN32OLE#_invokeなどのメソッド呼び出し時に、ユーザがRubyのオブジェ クトの変換方法を指定するための定数を提供します。

これらの値は、COMの仕様で定義されたOLEオートメーション型と呼ばれる一連 の型を決定する定数です。ただし、一部、OLEオートメーション非互換の型も定 義されているため、利用時にはOLEオートメーション互換型のみを利用するよう にしてください。

目次

定数
VT_ARRAY VT_BOOL VT_BSTR VT_BYREF VT_CY VT_DATE VT_DISPATCH VT_EMPTY VT_ERROR VT_I1 VT_I2 VT_I4 VT_INT VT_NULL VT_PTR VT_R4 VT_R8 VT_UI1 VT_UI2 VT_UI4 VT_UINT VT_UNKNOWN VT_USERDEFINED VT_VARIANT

定数

VT_ARRAY -> Integer[permalink][rdoc]

配列(SafeArray)を示します(0x2000)。

VT_BOOL -> Integer[permalink][rdoc]

真偽値を示します(11)。

VT_BSTR -> Integer[permalink][rdoc]

文字列(BSTR)を示します(8)。

OLEオートメーションのBSTRはUnicodeで表現された長さ付き文字列です。Ruby のStringとBSTRの相互変換は、WIN32OLEがWIN32OLE#codepageに基づいて 自動的に行います。

VT_BYREF -> Integer[permalink][rdoc]

参照を示します(0x4000)。

VT_BYREFは型ではなく、参照を示す型属性です。OLEオートメーションサーバが 結果を引数に戻す場合、参照先の型を示す値と論理和を取るために利用します。

VT_CY -> Integer[permalink][rdoc]

通貨型(CURRENCY)を示します(6)。

OLEオートメーションのCURRENCY型は、符号付き64ビット整数を10進表記した時 の下4桁を小数点以下とすることで、加減算について誤差を生じさせない小数点 数を表現します。

CURRENCY型の有効範囲は-922337203685477.5808から922337203685477.5807です。

WIN32OLEはオートメーション呼び出しの返り値がCURRENCY型の場合、文字列に 変換します。

VT_DATE -> Integer[permalink][rdoc]

日付型(DATE)を示します(7)。

OLEオートメーションのDATE型は、1899年12月30日0時00分からの日時を示す64 ビット浮動小数点数型です。

WIN32OLEは、RubyのTime型と自動的に変換します。

VT_DISPATCH -> Integer[permalink][rdoc]

OLEオートメーションオブジェクトを示します(9)。

RubyのオブジェクトをOLEオートメーションサーバへ与える場合に利用します。

VT_EMPTY -> Integer[permalink][rdoc]

空(初期化状態)のオブジェクトを示します(0)。

VT_ERROR -> Integer[permalink][rdoc]

HRESULTを示します(10)。

HRESULTは、COMを含むWindowsのサービスがアプリケーションへ通知する統一的 なエラーコードです。

HRESULT: http://msdn.microsoft.com/en-us/library/cc704587(v=PROT.10).aspx

VT_I1 -> Integer[permalink][rdoc]

符号付き8ビット整数(char)を示します(16)。

OLEオートメーションの仕様上は利用できません。

VT_I2 -> Integer[permalink][rdoc]

符号付き16ビット整数(short)を示します(2)。

VT_I4 -> Integer[permalink][rdoc]

符号付き32ビット整数(int)を示します(3)。

VT_INT -> Integer[permalink][rdoc]

符号付き整数(int)を示します(22)。

VT_NULL -> Integer[permalink][rdoc]

NULL型の値を示します(1)。

WIN32OLE::VARIANT.VT_EMPTYと異なり、NULLという値(たとえばSQLパラ メータでNULLを指定する場合など)を示します。

VT_PTR -> Integer[permalink][rdoc]

ポインタ型を示します(26)。

VT_PTRは、VOID*に相当するため、OLEオートメーションでは利用できません。

VT_R4 -> Integer[permalink][rdoc]

単精度浮動小数点数を示します(4)。

VT_R8 -> Integer[permalink][rdoc]

倍精度浮動小数点数を示します(5)。

VT_UI1 -> Integer[permalink][rdoc]

符号なし8ビット整数(unsigned char)を示します(17)。

VT_UI2 -> Integer[permalink][rdoc]

符号なし16ビット整数(unsigned short)を示します(18)。

OLEオートメーションでは利用できません。代わりにVT_I2を利用してください。

VT_UI4 -> Integer[permalink][rdoc]

符号なし32ビット整数(unsigned int)を示します(19)。

OLEオートメーションでは利用できません。代わりにVT_I4を利用してください。

VT_UINT -> Integer[permalink][rdoc]

符号なし整数(unsigned int)を示します(23)。

OLEオートメーションでは利用できません。代わりにVT_I4を利用してください。

VT_UNKNOWN -> Integer[permalink][rdoc]

COMインターフェイスを示します(13)。

VT_USERDEFINED -> Integer[permalink][rdoc]

ユーザ定義型を示します(29)。

OLEオートメーションでは利用できません。代わりにVT_I4を利用してください。

VT_VARIANT -> Integer[permalink][rdoc]

VARIANT型を示します(12)。