るりまサーチ (Ruby 2.3.0)

最速Rubyリファレンスマニュアル検索!
4件ヒット [1-4件を表示] (0.019秒)
トップページ > バージョン:2.3.0[x] > クエリ:close[x] > ライブラリ:win32ole[x]

別のキーワード

  1. cgi close
  2. _builtin close
  3. cgi/session close
  4. zlib close
  5. logger close

クラス

キーワード

検索結果

WIN32OLE (61.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#ole_free -> () (43.0)

selfが参照するCOMオブジェクトを解放します。

...に対
する操作は行えません。

excel = WIN32OLE.new('Excel.Application')
excel.ole_free # オブジェクトの解放
excel.Quit #=> RuntimeError (failed to get Dispatch Interface)

通常は利用されなくなったWIN32OLEオブジェクトはGCのタイミングで自動...
...中で生成される子オブジェクトからの逆参照などがあるため、
WIN32OLE
がIUnknown::Releaseを呼び出してもオブジェクトが解放されるとは限
りません。

excel = WIN32OLE.new('Excel.Application')
workbook = excel.Workbooks.Open('workbook.xls')
workbo...
...参照されているexcelオブジェクトは解
放されません。それに対して下の例では正しく解放されます。

excel = WIN32OLE.new('Excel.Application')
books = excel.Workbooks
workbook = books.Open('workbook.xls')
books.ole_free
workbook.Close(:SaveChanges => fal...

WIN32OLE#_getproperty(dispid, args, types) -> object (25.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#_setproperty(dispid, args, types) -> () (25.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...