ole_instance_variable_set(name, val) -> objectRuby 3.0 から[permalink][rdoc][edit]-
VT_RECORD OLE変数のメンバ名に対応する値を設定します。メンバ名が正しくない場合はKeyErrorが発生します。
WIN32OLE_RECORD#method_missing経由でメンバの値を直接設定できない場合に利用します。
- [PARAM]
name: - 設定するメンバ名を文字列またはシンボルで指定します。
- [PARAM]
val: - 設定する値を指定します。
- [RETURN]
- 設定した値を返します。
- [EXCEPTION]
TypeError: - nameがStringまたはSymbolではありません。
- [EXCEPTION]
KeyError: - 指定したメンバ名がselfに存在しません。
VB.NETのComServerプロジェクトで作成したCOMサーバの以下のBook構造体の titleメンバに値を設定するには、次のようにします。
例Imports System.Runtime.InteropServices Public Class ComClass <MarshalAs(UnmanagedType.BStr)> _ Public title As String Public cost As Integer End Classserver = WIN32OLE.new('ComServer.ComClass') obj = WIN32OLE_RECORD.new('Book', server) obj.ole_instance_variable_set(:title, "The Ruby Book")[SEE_ALSO] WIN32OLE_RECORD#method_missing, WIN32OLE_RECORD#ole_instance_variable_get
- [PARAM]