275件ヒット
[1-100件を表示]
(0.086秒)
種類
- インスタンスメソッド (176)
- クラス (55)
- 特異メソッド (33)
- 定数 (11)
クラス
- WIN32OLE (66)
-
WIN32OLE
_ EVENT (44) -
WIN32OLE
_ PARAM (22) -
WIN32OLE
_ TYPE (33) -
WIN32OLE
_ VARIABLE (55)
キーワード
- ARGV (11)
- WIN32OLE (11)
-
WIN32OLE
_ EVENT (11) -
WIN32OLE
_ METHOD (11) -
WIN32OLE
_ TYPELIB (11) -
WIN32OLE
_ VARIABLE (11) -
const
_ load (11) - default (11)
-
default
_ event _ sources (11) - each (11)
- handler= (11)
- name (11)
-
ole
_ func _ methods (11) -
ole
_ get _ methods (11) -
ole
_ query _ interface (11) -
ole
_ type (11) -
ole
_ type _ detail (11) -
on
_ event (11) -
on
_ event _ with _ outargs (11) - output? (11)
- progids (11)
-
to
_ s (11) - value (11)
- variables (11)
検索結果
先頭5件
-
WIN32OLE
# ole _ query _ interface(iid) -> WIN32OLE (9220.0) -
IID(インターフェイスID)を指定してオブジェクトの別のインターフェイスを 持つオブジェクトを取得します。
...
IID(インターフェイスID)を指定してオブジェクトの別のインターフェイスを
持つオブジェクトを取得します。
オブジェクトが複数のオートメーション用インターフェイスを持つ場合に、当
メソッドを利用して既定のイ......m iid 取得するインターフェイスのIIDを文字列で指定します。
@return iidパラメータで指定したインターフェイスを持つWIN32OLEオブジェクト
@raise WIN32OLERuntimeError 指定したIIDをオブジェクトが持たない場合に通知されます。
ie......h do |iid, ver|
begin
intf = obj.ole_query_interface(iid)
intf.ole_free
return ver
rescue WIN32OLERuntimeError
end
end
1
end
しかし、ole_query_interfaceのような特異なメソッドを利用するよりも、
WIN32OLE.new('VisualStudio.DTE... -
WIN32OLE
_ TYPE # variables -> [WIN32OLE _ VARIABLE] (6208.0) -
型が持つ変数を取得します。
...メンバ変数の情報を
WIN32OLE_VARIABLEオブジェクトの配列として返します。
@return 型が持つ変数情報をWIN32OLE_VARIABLEの配列として返します。
変数を持たない場合は空配列を返します。
@raise WIN32OLERuntimeError 型属性が取得で......tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'XlSheetType')
vars = tobj.variables
vars.each do |v|
puts "#{v.name} = #{v.value}"
end
上記を実行すると以下の出力が得られます。
xlChart = -4109
xlDialogSheet = -4116
xlExcel4IntlMacr......oSheet = 4
xlExcel4MacroSheet = 3
xlWorksheet = -4167
@see WIN32OLE_VARIABLE... -
WIN32OLE
_ TYPE . progids -> [String] (6126.0) -
システムに登録されているすべてのコンポーネントクラスのPROGIDを取得します。
...ラスのPROGIDを取得します。
@return システムに登録されているすべてのコンポーネントクラスのPROGIDを
文字列配列で返します。
excel = nil
WIN32OLE_TYPE.progids.each do |pg|
if pg =~ /excel\.application/i # ExcelのPROGIDをバージョ......ン無視で取り出す
excel = WIN32OLE.new(pg)
break
end
end
unless excel
$stderr.puts "Excel isn't installed"
exit(1)
end
excel.visible = true
# ...
excel.Quit
PROGIDは、生成可能なOLEオートメーションサーバのCoClass(コンポーネント......クラス)が持つレジストリ登録名です。WIN32OLE.newの引数に指定して
WIN32OLEオブジェクトを生成できます。... -
WIN32OLE
_ EVENT # on _ event _ with _ outargs(event = nil) {|*args| . . . } -> () (6108.0) -
イベント通知を受けて結果を呼び出し元へ返すブロックを登録します。
...ッド名を指定します。引数を省略した場合は、すべて
のイベントを対象とするブロックの登録となります。
WIN32OLE_EVENT#on_eventと異なり、イベントのブロック変数に戻り値を
設定できます。
@param event イベント名を文字列か......ださい。
@raise WIN32OLERuntimeError WIN32OLE_EVENT#unadviseによってイベン
トソースと切断済みです。
ie = WIN32OLE.new('InternetExplorer.Application')
ev = WIN32OLE_EVENT.new(ie, 'DWebBrowserEvents2')
ev.on_event('BeforeNavigate2') do |*args|......args[6] = true unless args[4] # Cancel = true unless PostData
end
当メソッドはイベント名の大文字小文字を区別するほか、イベント名の存在確
認を行いません。このため、誤ったイベント名を記述してもエラーとはならず、
単にイ... -
WIN32OLE
_ VARIABLE # ole _ type _ detail -> [String] (6108.0) -
変数の型と属性を取得します。
...bj = WIN32OLE_TYPE.new('Microsoft XML, v5.0', 'tagSTATSTG')
tobj.variables.each do |v|
puts "#{v.ole_type} [#{v.ole_type_detail.join(', ')}] #{v.name}"
end
出力結果
Unknown Type 31 [] pwcsName # => VT_LPWSTR はWIN32OLE::VARIANTで未定義なので変換できない
UI4 [UI4] t......_ULARGE_INTEGER [USERDEFINED, _ULARGE_INTEGER] cbSize
_FILETIME [USERDEFINED, _FILETIME] mtime
_FILETIME [USERDEFINED, _FILETIME] ctime
_FILETIME [USERDEFINED, _FILETIME] atime
UI4 [UI4] grfMode
UI4 [UI4] grfLocksSupported
GUID [USERDEFINED, GUID] clsid
UI4 [UI4] grfStateBits
UI4 [UI4] reser......ved
上例のように、WIN32OLE_VARIABLEで取得できる変数あるいはその元となる構造
体は、必ずしもOLEオートメーション互換データというわけではありません。こ
のようなデータはWIN32OLEからは利用できません。... -
WIN32OLE
_ EVENT (6020.0) -
OLEオートメーションサーバからのイベント通知を制御するクラスです。
...ト」と呼びます。WIN32OLE_EVENTを利用
すると、ブロックの形式でイベントを受け取るメソッドをサーバへ登録できま
す。
=== サンプルコード
ie = WIN32OLE.new('InternetExplorer.Application.1')
event = WIN32OLE_EVENT.new(ie, 'DWebBrowserEvents2')......disp, uri|
disp.document.getElementsByTagName('a').each do |e|
puts "#{e.innerHTML}=#{e.href}" #=> ダウンロード=http://www.ruby-lang.org/ja/downloads/ など
end
disp.quit
b = true
end
ie.Navigate2 'http://www.ruby-lang.org/ja/'
loop do
break if b
WIN32OLE......_EVENT.message_loop
end... -
WIN32OLE
_ METHOD (6014.0) -
OLEオートメーションサーバが持つメソッドの情報を提供します。
...す。
WIN32OLE_METHODは、WIN32OLE#ole_methodsなどの呼び出しによって返さ
れるオブジェクトで、OLEオートメーションサーバのメソッドの情報(メタデー
タ)を保持します。
=== サンプルコード
excel = WIN32OLE.new('Excel.Application')
e......
if method.visible?
puts <<SIGNATURE
#{method.return_type} #{method.name}(#{
method.params.map {|p| "#{p.ole_type} #{p.name}"}.join(', ')
}) : #{method.helpstring}
SIGNATURE
end
end
@see WIN32OLE#ole_methods, WIN32OLE#ole_func_methods, WIN32OLE#ole_get_methods, WIN32OLE......#ole_put_methods, WIN32OLE#ole_method, WIN32OLE#ole_method_help, WIN32OLE_PARAM... -
WIN32OLE (6008.0)
-
OLEオートメーションサーバをRubyで操作するためのクラスです。
...yで操作するためのクラスです。
Windowsの多くのアプリケーションやライブラリは、COMと呼ばれるAPI群を利用
して他のプログラムから操作できます。WIN32OLEがサポートしているのは、
COMのAPIのうち、特にインタープリタ用の......IDispatchインターフェイス)とそれに付随するリフレクション用のイ
ンターフェイスです。
これらのインターフェイスをサポートしている代表的なWindowsアプリケーショ
ンに、Office、IE、iTunes、Illustratorがあります。また、WMI......エラーとなります。
excel = WIN32OLE.new('Excel.Application')
Thread.start do
workbook = excel.Workbooks.Open('workbook.xls') #=> HRESULT error code:0x800401f0
workbook.PrintOut
workbook.Close(:SaveChanges => false)
end.join
excel.Quit
発生するエラーはThreadの... -
WIN32OLE
_ TYPELIB (6008.0) -
OLEオートメーションサーバの型情報ライブラリ(TypeLib)を操作するための クラスです。
...OLEオートメーションサーバの型情報ライブラリ(TypeLib)を操作するための
クラスです。
OLEオートメーションサーバはクライアントに、クラス、インターフェイス、メ
ソッドなどのメタデータを提供するための機構を持ち......
WIN32OLE_TYPELIBクラスは、TypeLibを操作して各種情報を参照するためのオブ
ジェクトを生成します。
=== サンプルコード
require 'win32ole'
tlib = WIN32OLE_TYPELIB.new('Microsoft Excel 14.0 Object Library')
puts "Guid of Excel typelib = #{tlib.guid}"......puts "version = #{tlib.major_version}.#{tlib.minor_version}"
puts "creatable classes:"
tlib.ole_types.select{|cls| cls.progid }.each do |cls|
puts " #{cls.name}: PROGID=#{cls.progid}"
end
上記を実行すると以下の出力を得ます。
Guid of Excel typelib = {00020813-00... -
WIN32OLE
_ VARIABLE (6008.0) -
OLEオートメーションの変数情報をRubyで参照するためのクラスです。
...。
OLEオートメーションサーバは、定数(WIN32OLE.const_load)、メソッ
ド/プロパティ(WIN32OLE_METHOD)、イベント(WIN32OLE_EVENT)
のほかに変数をクライアントへ提供できます。WIN32OLE_VARIABLEクラスは、サー
バが提供する変数の情......す。
WIN32OLE_VARIABLEのオブジェクトは、WIN32OLE_TYPE#variablesメソッ
ドを利用して取得します。
=== サンプルコード
require 'win32ole'
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'XlSheetType')
variables = tobj.variables
variables.ea......ch do |variable|
puts "#{variable.name}=#{variable.value}"
end
実行結果は以下となります。
xlChart=-4109
xlDialogSheet=-4116
xlExcel4IntlMacroSheet=4
xlExcel4MacroSheet=3
xlWorksheet=-4167
@see WIN32OLE_TYPE#variables...