module WIN32OLE::VARIANT

[edit]

要約

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

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

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

目次

定数

定数

VT_ARRAY -> Integer[permalink][rdoc][edit]

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

VT_BOOL -> Integer[permalink][rdoc][edit]

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

VT_BSTR -> Integer[permalink][rdoc][edit]

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

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

VT_BYREF -> Integer[permalink][rdoc][edit]

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

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

VT_CY -> Integer[permalink][rdoc][edit]

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

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

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

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

VT_DATE -> Integer[permalink][rdoc][edit]

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

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

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

VT_DISPATCH -> Integer[permalink][rdoc][edit]

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

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

VT_EMPTY -> Integer[permalink][rdoc][edit]

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

VT_ERROR -> Integer[permalink][rdoc][edit]

HRESULTを示します(10)。

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

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

VT_I1 -> Integer[permalink][rdoc][edit]

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

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

VT_I2 -> Integer[permalink][rdoc][edit]

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

VT_I4 -> Integer[permalink][rdoc][edit]

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

VT_INT -> Integer[permalink][rdoc][edit]

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

VT_NULL -> Integer[permalink][rdoc][edit]

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

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

VT_PTR -> Integer[permalink][rdoc][edit]

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

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

VT_R4 -> Integer[permalink][rdoc][edit]

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

VT_R8 -> Integer[permalink][rdoc][edit]

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

VT_UI1 -> Integer[permalink][rdoc][edit]

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

VT_UI2 -> Integer[permalink][rdoc][edit]

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

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

VT_UI4 -> Integer[permalink][rdoc][edit]

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

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

VT_UINT -> Integer[permalink][rdoc][edit]

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

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

VT_UNKNOWN -> Integer[permalink][rdoc][edit]

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

VT_USERDEFINED -> Integer[permalink][rdoc][edit]

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

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

VT_VARIANT -> Integer[permalink][rdoc][edit]

VARIANT型を示します(12)。