new(val, vartype = nil) -> WIN32OLE_VARIANT
[permalink][rdoc][edit]-
指定したオブジェクトを値とするWIN32OLE_VARIANTオブジェクトを生成します。
- [PARAM] val:
- ラップするRubyオブジェクトを指定します。
- [PARAM] vartype:
- 省略時はWIN32OLEが自動型変換を行います。指定する場合は WIN32OLE::VARIANTの定数を指定してください。
- [RETURN]
- val引数を値として持つWIN32OLE_VARIANTオブジェクトを返します。
- [EXCEPTION] TypeError:
- val引数の型がArray、String、Integer、Float、Time、 WIN32OLE、WIN32OLE_VARIANT、TrueClass、FalseClass、 NilClass のいずれでもありません。
shell = WIN32OLE.new('Shell.Application') folder = shell.NameSpace('C:\\Users\\Public\\Documents') item = folder.ParseName('test.txt') v = WIN32OLE_VARIANT.new('Delete') item.invokeVerb(v) # => ゴミ箱への移動ダイアログを表示
バイト配列を生成するには、以下のようにvartype引数にVT_UI1 | VT_ARRAYを設定します。バイト配列の値のRuby表現はエンコーディングをASCII-8BITに設定した文字列となります。
include WIN32OLE::VARIANT bytes = WIN32OLE_VARIANT.new([1,2,3,4,5], VT_UI1 | VT_ARRAY) bytes.value #=> "\x01\x02\x03\x04\x05" bytes.value.encoding #=> #<Encoding:ASCII-8BIT>
[SEE_ALSO] WIN32OLE::VARIANT