Ruby 2.5.0 リファレンスマニュアル > ライブラリ一覧 > win32oleライブラリ > WIN32OLE_VARIANTクラス > value=

instance method WIN32OLE_VARIANT#value=

value=(val) -> ()[permalink][rdoc]

WIN32OLE_VARIANTの値を再設定します。

指定した値でselfを再設定します。指定値が元のVARIANT型に合わない場合は元のVARIANT型に合うように引数を変換します。変換は、引数を一度VARIANT型に変換してからCOMのVARIANT型変換関数(VariantChangeTypeEx)を呼び出すことで実現します。

[PARAM] val:
設定値を指定します。
[EXCEPTION] WIN32OLERuntimeError:
selfが配列型です。あるいは、型変換に失敗しました。
obj = WIN32OLE_VARIANT.new(1) # VARIANT型にWIN32OLE::VARIANT::VT_I4を設定
obj.value = 3.2      # 3.2から新たなVARIANT型を作成し、それをVT_I4に変換
p obj.value # => 3   # VT_I4に変換した結果が設定される

selfが配列型のWIN32OLE_VARIANTの場合、バイト配列かつ引数が文字列の場合を除いてWIN32OLERuntimeErrorを通知します。配列型の場合は、 WIN32OLE_VARIANT#[]=を利用してください。