るりまサーチ

最速Rubyリファレンスマニュアル検索!
1892件ヒット [1-100件を表示] (0.024秒)
トップページ > ライブラリ:win32ole[x]

モジュール

キーワード

検索結果

<< 1 2 3 ... > >>

WIN32OLE (2.0)

OLEオートメーションサーバをRubyで操作するためのクラスです。

...多くのアプリケーションやライブラリは、COMと呼ばれるAPI群を利用
して他のプログラムから操作できます。WIN32OLEがサポートしているのは、
COMのAPIのうち、特にインタープリタ用のインターフェイスであるOLEオートメー
...
...てWindowsの情報を操作することも可能です。これらの
プログラムをOLEオートメーションサーバと呼びます。

WIN32OLE
オブジェクトは、OLEオートメーションサーバが提供するメソッドやプ
ロパティ(Rubyの属性に対応)をスクリ...
...、名前付き引数としてキーにパラメータ名、値に引数を指定できます。

=== サンプルコード

require 'win32ole'

excel = WIN32OLE.new('Excel.Application')
workbook = excel.Workbooks.Open('workbook.xls')
workbook.PrintOut
workbook.Close(:SaveChanges => false)...

WIN32OLE#[](key...) -> object (2.0)

オブジェクトのデフォルトプロパティを参照します。

...ションにはデフォルトプロパティというプロパティ名を指定せず
にアクセスできるプロパティがあります。

WIN32OLE
からデフォルトプロパティにアクセスするには、[]内に必要なキーを
「,」で区切って記述します。シンボル...
...を指定します。プロ
パティの特定に複数のキーが必要な場合は「,」で区切って列記します。

@return プロパティ値を返します。

fsys = WIN32OLE.new('Scripting.FileSystemObject')
fsys.Drives[:c].FreeSpace #=> Cドライブの空き容量...

WIN32OLE#[]=(key..., value) -> () (2.0)

オブジェクトのデフォルトプロパティを設定します。

...ションにはデフォルトプロパティというプロパティ名を指定せず
にアクセスできるプロパティがあります。

WIN32OLE
からデフォルトプロパティにアクセスするには、[]内に必要なキーを
記述します。

なおデフォルトプロパ...
...に設定する値を指定します。

@raise WIN32OLERuntimeError オートメーションサーバの呼び出しに失敗しました。
理由はメッセージのHRESULTを調べてください。

dict = WIN32OLE.new('Scripting.Dictionary')
dict[:a] = 0x41
d...

WIN32OLE#_getproperty(dispid, args, types) -> object (2.0)

DISPIDとパラメータの型を指定してオブジェクトのプロパティを参照します。

...を指定します。引
数の順序は最左端の引数のインデックスを0とします。型の指定
には、WIN32OLE::VARIANTの定数を利用します。引数が不
要な場合は空配列を指定します。

このメソッドはCOMアーリ...
...返します。
@raise WIN32OLERuntimeError オートメーションサーバの呼び出しに失敗しました。
理由はメッセージのHRESULTを調べてください。

DISPID_CELLS = 238
include WIN32OLE::VARIANT
excel = WIN32OLE.new('Excel.Applicatio...
...sheet._setproperty(DISPID_CELLS, [1, 2, 'hello'], [VT_I2, VT_I2, VT_BSTR])
puts sheet._getproperty(DISPID_CELLS, [1, 2], [VT_I2, VT_I2]).value #=> 'hello'
workbook.Close(:SaveChanges => false)
excel.Quit

DISPIDはWIN32OLE_METHOD#dispidから取得できます。

@see WIN32OLE::VARIANT...

WIN32OLE#_invoke(dispid, args, types) -> object | nil (2.0)

DISPIDとパラメータの型を指定してオブジェクトのメソッドを呼び出します。

...。型の指定には、
WIN32OLE
::VARIANTの定数を利用します。引数が不要な場
合は空配列を指定します。

@return メソッドの返り値。ただし返り値を持たないメソッドの場合はnil。

@raise WIN32OLERuntimeError オートメ...
...= WIN32OLE.new('Excel.Application')
excel._invoke(302, [], []) # DISPID 302は、Quitメソッド

MFCの制約により、バイト配列の型情報は通常
WIN32OLE
::VARIANT::VT_VARIANTとなります。このような場合に、バイト
配列を与えるつもりで

include WIN32OLE::...
...い。

include WIN32OLE::VARIANT
obj.method(DISPID, [[0, 1, 2, 3]], [VT_BYREF | VT_ARRAY | VT_UI1])

なお、VB6で作成したCOMコンポーネントのパラメータに配列を与える場合は、
WIN32OLE
::VARIANT::VT_BYREFの指定が必須です。

DISPIDはWIN32OLE_METHOD#dispidから...

絞り込み条件を変える

WIN32OLE#_setproperty(dispid, args, types) -> () (2.0)

DISPIDとパラメータの型を指定してオブジェクトのプロパティを設定します。

...
WIN32OLE
::VARIANTの定数を利用します。

@raise WIN32OLERuntimeError オートメーションサーバの呼び出しに失敗しました。
理由はメッセージのHRESULTを調べてください。

DISPID_CELLS = 238
include WIN32OLE::VA...
...RIANT
excel = WIN32OLE.new('Excel.Application')
puts excel._setproperty(558, # VisibleプロパティのDISPIDは558
[true], [VT_BOOL])
workbook = excel.Workbooks.Add
sheet = workbook.Worksheets[1]
sheet._setproperty(DISPID_CELLS, [1, 2, 'hello'], [VT_I2...
..., VT_I2, VT_BSTR])
puts sheet._getproperty(DISPID_CELLS, [1, 2], [VT_I2, VT_I2]).value #=> 'hello'
workbook.Close(:SaveChanges => false)
excel.Quit

DISPIDはWIN32OLE_METHOD#dispidから取得できます。

@see WIN32OLE::VARIANT...

WIN32OLE#each {|i|...} -> () (2.0)

オブジェクトの列挙インターフェイスを呼び出してアイテム単位にブロックを 実行します。

...います。

@param i コレクション内のアイテム

@raise WIN32OLERuntimeError selfが列挙インターフェイスをサポートしてい
ない場合に通知します。

excel = WIN32OLE.new('Excel.Application')
book = excel.workbooks.add
sheets =...

WIN32OLE#invoke(name, *args) -> object | nil (2.0)

メソッド名を指定してオブジェクトのメソッドを呼び出します。

...持たないメソッドの場合はnil。
@raise WIN32OLERuntimeError オートメーションサーバの呼び出しに失敗しました。
理由はメッセージのHRESULTを調べてください。
excel = WIN32OLE.new('Excel.Application')
workbook = excel.wor...
...:Password => 'secret')
excel.invoke(:Quit)

このリストは、以下の記述と同等です。

excel = WIN32OLE.new('Excel.Application')
workbook = excel.workbooks.Open(:FileName => 'c:\\users\\public\\test.xml',
:ReadOn...

WIN32OLE#method_missing(id, *args) -> object | nil (2.0)

WIN32OLE#invokeメソッドを実行します。

...WIN32OLE#invokeメソッドを実行します。

WIN32OLE
のインスタンスに対して、このリファレンスに明記されていないメソッ
ドを呼び出した場合、OLEオートメーションサーバのメソッド(プロパティ)呼
び出しと解釈します。

@param...
...有効なシンボルではありません。
@raise WIN32OLERuntimeError オートメーションサーバの呼び出しに失敗しました。
理由はメッセージのHRESULTを調べてください。

WIN32OLE
はOLEオートメーションオブジェクトのメ...
...ソッド呼び出しを
method_missingを利用して実行します。このためWIN32OLEを継承するクラスを
作成してmethod_missingをオーバーライドする場合、superを呼び出してくださ
い。

@see WIN32OLE#invoke...

WIN32OLE#ole_activex_initialize -> nil (2.0)

ActiveXコントロール用の初期化を行います。

...出しがすべてエラーとなります。

@raise WIN32OLERuntimeError オブジェクトがActiveXコントロールの永続化イ
ンターフェイスを持たない場合に通知します。

obj = WIN32OLE.new("ProgID_or_GUID_of_ActiveX_Control")
obj.ole_...
...でないかを簡単に区別する方法はありません。
そのため、とりあえず普通にメソッドを呼び出し、その結果
WIN32OLE
RuntimeErrorが通知され、メッセージにHRESULT 0x8000ffffと示され
ている場合にのみ、オブジェクト生成直後に当メ...

絞り込み条件を変える

<< 1 2 3 ... > >>