60件ヒット
[1-60件を表示]
(0.028秒)
種類
- インスタンスメソッド (36)
- クラス (12)
- 文書 (12)
ライブラリ
- win32ole (48)
クラス
- WIN32OLE (36)
キーワード
-
_ getproperty (12) -
_ setproperty (12) -
ole
_ free (12) -
ruby 1
. 8 . 3 feature (12)
検索結果
先頭5件
-
WIN32OLE (38072.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)
excel.Quit
なお、OLEオートメーションの仕... -
WIN32OLE
# ole _ free -> () (21042.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')
workbook.Close(:SaveChanges => false)
workbook.ole_f......は解
放されません。それに対して下の例では正しく解放されます。
excel = WIN32OLE.new('Excel.Application')
books = excel.Workbooks
workbook = books.Open('workbook.xls')
books.ole_free
workbook.Close(:SaveChanges => false)
workbook.ole_free
excel.ole_free... -
WIN32OLE
# _ getproperty(dispid , args , types) -> object (21036.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) -> () (21036.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... -
ruby 1
. 8 . 3 feature (42.0) -
ruby 1.8.3 feature *((<ruby 1.8 feature>)) *((<ruby 1.8.2 feature>))
...1
=== 2005-08-20
: Logger [lib] [bug]
ファイルをシフト時のレースコンディションが修正されました。
=== 2005-08-07
: WIN32OLE_EVENT#on_event [lib] [bug]
最後に定義したイベントハンドラが有効になるように修正しました。
=== 2005-07-27
: Dir......ar' for #<Object:0x4021b0a0> (NoMethodError)
$ ruby-1.8.3 -r delegate test_dlg.rb
bar
=== 2005-06-20
: DBM#closed? [lib] [new]
: GDBM#closed? [lib] [new]
: SDBM#closed? [lib] [new]
=== 2005-06-16
: Time.parse [lib] [compat]
うるう秒 "Fri Jan 1 08:59:60 +0900 1999" をサポ......o/)' -- --foo\@bar
-e: invalid name for global variable - --foo@bar (NameError)
=== 2005-04-18
: WIN32OLE.codepage [lib] [new]
: WIN32OLE.codepage= [lib] [new]
=== 2005-04-10
: WIN32OLE#invoke [lib] [bug]
nil を VT_ERROR に変換して Invokeを呼び出して失敗するときには V...