クラス
- WIN32OLE (11)
-
WIN32OLE
_ EVENT (2) -
WIN32OLE
_ METHOD (1) -
WIN32OLE
_ PARAM (1) -
WIN32OLE
_ TYPE (4) -
WIN32OLE
_ TYPELIB (2) -
WIN32OLE
_ VARIANT (2)
キーワード
- array (1)
- codepage (1)
- codepage= (1)
- connect (1)
-
const
_ load (1) -
create
_ guid (1) - locale (1)
- locale= (1)
- new (7)
-
ole
_ classes (1) -
ole
_ free (1) -
ole
_ reference _ count (1) -
ole
_ show _ help (1) - progids (1)
- typelibs (2)
検索結果
先頭5件
-
WIN32OLE
. codepage -> Integer (10.0) -
WIN32OLEがOLEオートメーションのインターフェイスに利用するコードページを 取得します。
...
WIN32OLEがOLEオートメーションのインターフェイスに利用するコードページを
取得します。
OLEオートメーションに利用する文字列はUnicodeでエンコードします。
WIN32OLEはここで示されたコードページを利用してRubyのStringとUnic......するコード
ページが見つからない場合は、WIN32OLE::CP_ACPを利用します。
@return WIN32OLEがオートメーション呼び出しの文字列変換に利用するコード
ページを返します。
WIN32OLE.codepage # => 932 (日本語Windowsの既定値)... -
WIN32OLE
. codepage=(cp) -> nil (10.0) -
WIN32OLEがOLEオートメーションのインターフェイスに利用するコードページを 設定します。
...
WIN32OLEがOLEオートメーションのインターフェイスに利用するコードページを
設定します。
WIN32OLEは、OLEオートメーション呼び出しに利用する文字列のUnicode変換に
ここで設定したコードページを利用します。通常、WIN32OLEは......出す必
要があるのは、WIN32OLEをrequireしたスクリプトと異なるエンコーディングを
利用しているスクリプトや、異なるエンコーディングを利用しているファイル
から読み込んだ文字列を利用してWIN32OLEを呼び出す場合です。......@param cp コードページを指定します。
WIN32OLE.codepage = WIN32OLE::CP_UTF8... -
WIN32OLE
. connect(ole) -> WIN32OLE (10.0) -
現在実行中のOLEオートメーションサーバに接続します。
...バを操作可能
なWIN32OLEオブジェクトが返ります。
@param ole 接続対象のサーバを示すPROGID、CLSIDまたはモニカ(別名)を指定します。
@return ole引数で特定されるWIN32OLEオブジェクトを返します。
@raise WIN32OLERuntimeError オートメ......出しに失敗しました。
理由はメッセージのHRESULTを調べてください。
WIN32OLE.connect('Excel.Application') # => WIN32OLE object which represents running Excel.
: PROGID
OLEオートメーションサーバを識別するための文字列。... -
WIN32OLE
. const _ load(ole , mod = WIN32OLE) -> () (10.0) -
OLEオートメーションサーバが保持する定数を読み込み、指定されたモジュール に組み込みます。
...み込む対象のWIN32OLEオブジェクトまたはタイプライブラ
リ名(文字列)を指定します。
@param mod 定数を定義する対象のモジュールを指定します。省略時は
WIN32OLEに組み込まれます。
@raise WIN32OLERuntimeError オ......規約に準じて、vbConstantsの
ように小文字で始まります。しかし、Rubyの定数は大文字で開始する規則のた
め、WIN32OLEによってVbConstantsのように自動的に先頭が大文字化されます。
また、先頭が英字で始まらない定数について......end
excel = WIN32OLE.new('Excel.Application')
WIN32OLE.const_load(excel, EXCEL_CONST)
puts EXCEL_CONST::XlTop # => -4160
puts EXCEL_CONST::CONSTANTS['_xlDialogChartSourceData'] # => 541
モジュール名を省略した例
WIN32OLE.const_load(excel)
puts WIN32OLE::XlTop # => -4... -
WIN32OLE
. create _ guid -> String (10.0) -
GUID(グローバル一意識別子:Global Unique Identifier)を生成します。
...ンターフェイス識別子(IID)など多数の
領域でWindows上のオブジェクトの識別に利用される128ビットの値です。
WIN32OLEが生成するGUIDは以下の形式によるGUIDの文字列表現です。なお00〜
FFはGUIDの先頭からのバイト位置を示しま......す。これはレジストリのキーとして
利用される形式です。
{33221100-5544-7766-8899-AABBCCDDEEFF}
@return GUIDの文字列表現を返します。
WIN32OLE.create_guid # => "{????????-????-????-????-????????????}"... -
WIN32OLE
. locale -> Integer (10.0) -
WIN32OLEがオートメーション呼び出し時に設定するロケール識別子(LCID)を取 得します。
...
WIN32OLEがオートメーション呼び出し時に設定するロケール識別子(LCID)を取
得します。
OLEオートメーションでは、UNIXで利用される"ja_JP"などの国名と言語名を「_」
で接続した文字列ではなく、32ビット整数で示します。32ビ......イマリ言語ID、10〜15ビットでサブ言語IDを示します。
ロード時の既定値はWIN32OLE::LOCALE_SYSTEM_DEFAULTです。
@return WIN32OLEがオートメーション呼び出し時に設定するロケール識別子
(LCID)を返します。
lcid = WIN32OLE.locale... -
WIN32OLE
. locale=(lcid) -> nil (10.0) -
WIN32OLEがオートメーション呼び出し時に設定するロケール識別子(LCID)を設 定します。
...
WIN32OLEがオートメーション呼び出し時に設定するロケール識別子(LCID)を設
定します。
OLEオートメーションでは、UNIXで利用される"ja_JP"などの国名と言語名を「_」
で接続した文字列ではなく、32ビット整数で示します。32ビ......定します。
@raise WIN32OLERuntimeError システムにインストールされていないロケール
を指定すると発生します。
WIN32OLE.locale = 1033 # set locale English(U.S)
obj = WIN32OLE_VARIANT.new("$100,000", WIN32OLE::VARIANT::VT_CY)
オ......ソッド呼び出し時にDISP_E_UNKNOWNLCID(HRESULT error code:0x8002000C)や、TYPE_E_INVDATAREAD(HRESULT error code:0x80028018)などを理由としたWIN32OLERuntimeError例外となります。ほとんどすべての場合において、既定値を変更する必要はありません。... -
WIN32OLE
. new(server , host=nil) -> WIN32OLE (10.0) -
OLEオートメーションサーバを生成します。
...ションサーバを生成し
ます。生成に成功した場合、該当サーバを操作可能なWIN32OLEオブジェクトが
返ります。
CLSIDおよびPROGIDについてはWIN32OLE.connectを参照してください。
@param server OLEオートメーションサーバを示すPROGID......引数で指定したWIN32OLEオブジェク
トを返します。
@raise WIN32OLERuntimeError オートメーションサーバの呼び出しに失敗しました。
理由はメッセージのHRESULTを調べてください。
WIN32OLE.new('Excel.Applicat......ion') # => Excel OLE Automation WIN32OLE object.
WIN32OLE.new('{00024500-0000-0000-C000-000000000046}') # => Excel OLE Automation WIN32OLE object.... -
WIN32OLE
. ole _ free(aWIN32OLE) -> Integer (10.0) -
引数で指定したオブジェクトを解放します。
...解放します。
このメソッドは主にWIN32OLEのデバッグおよびWIN32OLEを利用するミドルウェ
アの実装のために用意されています。このため、メソッドの内部動作は不定で
す。COMの仕様とWIN32OLEの内部処理に熟知していない場合......は使用しないでくだ
さい。
@param aWIN32OLE 解放するWIN32OLEオブジェクト。
@return Releaseの戻り値。COMの仕様上は現在のオブジェクトの参照カウント
値を示します。... -
WIN32OLE
. ole _ reference _ count(aWIN32OLE) -> Integer (10.0) -
引数で指定したオブジェクトの現在の参照カウント値を返します。
...を返します。
このメソッドは主にWIN32OLEのデバッグおよびWIN32OLEを利用するミドルウェ
アの実装のために用意されています。このため、メソッドの内部動作は不定で
す。COMの仕様とWIN32OLEの内部処理に熟知していない場合......は使用しないでくだ
さい。
@param aWIN32OLE 参照カウント値を求めるWIN32OLEオブジェクト。
@return AddRef呼び出し後のReleaseの戻り値。COMの仕様上は現在のオブジェ
クトの参照カウント値を示します。... -
WIN32OLE
. ole _ show _ help(obj , helpcontext = nil) -> () (10.0) -
WIN32OLEオブジェクトのヘルプファイルを表示します。
...
WIN32OLEオブジェクトのヘルプファイルを表示します。
Windows標準のヘルプ表示コンポーネントのHHCtrl.OCXを利用して、オブジェク
トに関連付けられたヘルプファイル(chmファイル)を表示します。
また、chmファイルのフル......aram obj WIN32OLE_TYPEオブジェクトまたはWIN32OLE_METHODオ
ブジェクト。直接ヘルプファイルのフルパス名を指定することも可
能です。
@param helpcontext obj引数にWIN32OLE_TYPEオブジェクトまたは
WIN32OLE_METHOD......ファイル
がインストールされていない場合 (failed to open
help file `ファイル名') に通知します。
excel = WIN32OLE.new('Excel.Application')
typeobj = excel.ole_obj_help
WIN32OLE.ole_show_help(typeobj) if typeobj.helpfile... -
WIN32OLE
_ EVENT . message _ loop -> () (10.0) -
Windowsのメッセージポンプを実行します。
...ト処理は
Windowsメッセージを読み取ってディスパッチすることで通知されます。
ie = WIN32OLE.new('InternetExplorer.Application.1')
event = WIN32OLE_EVENT.new(ie, 'DWebBrowserEvents2')
b = false
event.on_event('DocumentComplete') do |disp, uri|
disp.document.......by-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
なお、メソッド名はloopですが、呼び出し時および既にキューイングされたメッ
セージ... -
WIN32OLE
_ EVENT . new(ole , event = nil) -> WIN32OLE _ EVENT (10.0) -
OLEオートメーションサーバのイベント受信機構をオブジェクト化して返します。
...ト通知に利用するインター
フェイスを取得し、オブジェクトとして返します。
@param ole イベントの通知元のWIN32OLEオブジェクトを指定します。
@param event イベントのインターフェイスを示すインターフェイス名または......クトの既定のイベントインターフェイスを利用します。
@return 指定したオブジェクトのイベントを管理するWIN32OLE_EVENTオブジェクト。
@raise RuntimeError eventパラメータで指定したIIDが見つかりません。また
はオ......た例
ie = WIN32OLE.new('InternetExplorer.Application')
ev = WIN32OLE_EVENT.new(ie)
インターフェイス名を指定した例
ie = WIN32OLE.new('InternetExplorer.Application')
ev = WIN32OLE_EVENT.new(ie, 'DWebBrowserEvents2')
IIDを指定した例
ie = WIN32OLE.new('Internet... -
WIN32OLE
_ METHOD . new(ole _ type , method) -> WIN32OLE _ METHOD (10.0) -
WIN32OLE_TYPEとメソッド名を指定してWIN32OLE_METHODのインスタンス を生成します。
...WIN32OLE_TYPEとメソッド名を指定してWIN32OLE_METHODのインスタンス
を生成します。
OLEオートメーションサーバの型情報とメソッド名からWIN32OLE_METHODのイン
スタンスを生成します。
アプリケーションプログラムでは、WIN32OLE_METHO......WIN32OLE#ole_methodなどのメソッドを参照するほ
うが簡単です。
@param ole_type WIN32OLE_TYPEのインスタンス。
@param method メソッド名を文字列で指定します。
@return methodパラメータに対応するWIN32OLE_METHODのインスタンス。
@raise WIN32OLERu......ntimeError methodパラメータで指定したメソッドが見つかりません。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SaveAs')... -
WIN32OLE
_ PARAM . new(ole _ method , index) -> WIN32OLE _ PARAM (10.0) -
メソッドとパラメータ位置を指定してWIN32OLE_PARAMのインスタンスを作成します。
...メソッドとパラメータ位置を指定してWIN32OLE_PARAMのインスタンスを作成します。
アプリケーションプログラムでは、WIN32OLE_PARAMオブジェクトをnewメソッド
で生成するよりも、WIN32OLE_METHOD#paramsを参照するほうが簡単です。
@......ラメータがWIN32OLE_METHODのインスタンスではありません。
@raise IndexError indexパラメータが1からパラメータの数の範囲にありません。
@raise RuntimeError 該当メソッドのメタデータが取得できません。
excel = WIN32OLE.new('Excel.Applica......tion')
method = excel.ole_method('Run')
param1 = WIN32OLE_PARAM.new(method, 1)
puts "#{param1.ole_type} #{param1.name}"... -
WIN32OLE
_ TYPE . new(libname , ole _ class) -> WIN32OLE _ TYPE (10.0) -
WIN32OLE_TYPEオブジェクトを生成します。
...WIN32OLE_TYPEオブジェクトを生成します。
@param libname 生成するTypeLibのレジストリ上のドキュメント文字列
(WIN32OLE_TYPELIB#name)または
GUID(WIN32OLE_TYPELIB#guid)またはTLBファイル名を
文字列で指......ypeLIbに定義された型の情報を格納したWIN32OLE_TYPEオブジェクトを返します。
@raise WIN32OLERuntimeError TypeLibが見つかりません。またはole_classで指定した型が未定義です。
excel_app_type = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'A......pplication')
puts excel_app_type.progid # => "Excel.Application.14"
TypeLibに定義されているすべての型を取得するには、
WIN32OLE_TYPELIBオブジェクトのWIN32OLE_TYPELIB#ole_typesメ
ソッドを利用します。... -
WIN32OLE
_ TYPE . ole _ classes(libname) -> [WIN32OLE _ TYPE] (10.0) -
TypeLibで定義されているすべての型情報を取得します。
...(WIN32OLE_TYPELIB#name)または
GUID(WIN32OLE_TYPELIB#guid)またはTLBファイル名を
文字列で指定します。
@return TypeLibに格納されているすべての型をWIN32OLE_TYPEオブジェクトの配列として返します。
@raise WIN32OLERun......types = WIN32OLE_TYPE.ole_classes('Microsoft Excel 14.0 Object Library')
classes = types.map{|k| k.name} # => ["Adjustments", "CalloutFormat", ...]
Ruby-1.9.1からは、TypeLibに定義されているすべての型を取得するには、
WIN32OLE_TYPELIBオブジェクトのWIN32OLE_TYPELIB... -
WIN32OLE
_ TYPE . progids -> [String] (10.0) -
システムに登録されているすべてのコンポーネントクラスのPROGIDを取得します。
...スの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 i......exit(1)
end
excel.visible = true
# ...
excel.Quit
PROGIDは、生成可能なOLEオートメーションサーバのCoClass(コンポーネント
クラス)が持つレジストリ登録名です。WIN32OLE.newの引数に指定して
WIN32OLEオブジェクトを生成できます。... -
WIN32OLE
_ TYPE . typelibs -> [String] (10.0) -
システムに登録されているすべてのTypeLibのドキュメント文字列を取得します。
...メント文字列の配
列を返します。
Ruby-1.9.1からは、すべてのTypeLibのドキュメント文字列を取得するには、
WIN32OLE_TYPELIBオブジェクトを利用して、以下のように記述してくだ
さい。
WIN32OLE_TYPELIB.typelibs.map {|t| t.name}... -
WIN32OLE
_ TYPELIB . new(libname , mjv = nil , miv = nil) -> WIN32OLE _ TYPELIB (10.0) -
WIN32OLE_TYPELIBオブジェクトを生成します。
...WIN32OLE_TYPELIBオブジェクトを生成します。
@param libname 生成するTypeLibのレジストリ上のドキュメント文字列
(WIN32OLE_TYPELIB#name)または
GUID(WIN32OLE_TYPELIB#guid)またはTLBファイル名を
文字列で......。
@return libnameで指定したWIN32OLE_TYPELIBオブジェクトを返します。
@raise WIN32OLERuntimeError 引数で指定したTypeLibが見つかりません。
tlib1 = WIN32OLE_TYPELIB.new('Microsoft Excel 14.0 Object Library')
tlib2 = WIN32OLE_TYPELIB.new('{00020813-0000-0000-C0......0000000046}')
tlib3 = WIN32OLE_TYPELIB.new('{00020813-0000-0000-C000-000000000046}', 1.7)
tlib4 = WIN32OLE_TYPELIB.new('{00020813-0000-0000-C000-000000000046}', 1, 7)
tlib5 = WIN32OLE_TYPELIB.new("C:\\WINDOWS\\SYSTEM32\\SHELL32.DLL")
puts tlib1.name # => 'Microsoft Excel 14.0 Object... -
WIN32OLE
_ TYPELIB . typelibs -> [WIN32OLE _ TYPELIB] (10.0) -
システムに登録されているすべてのTypeLibを取得します。
...システムに登録されているすべてのTypeLibを取得します。
@return 登録されているすべてのTypeLibを元にWIN32OLE_TYPELIBオブジェクト
の配列を返します。
tlibs = WIN32OLE_TYPELIB.typelibs... -
WIN32OLE
_ VARIANT . array(dims , vt) -> WIN32OLE _ VARIANT (10.0) -
配列用のVARIANTオブジェクトを生成します。
...WIN32OLE::VARIANTの定数で指定します。
@return 指定された次元/要素数を持つWIN32OLE_VARIANTオブジェクト。
次の例は、最初の次元が3要素、次の次元が4要素の2次元配列を生成する例です。
ole_ary = WIN32OLE_VARIANT.array([3,4], WIN32OLE::VA......RIANT::VT_I4)
ruby_ary = ole_ary.value # => [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
@see WIN32OLE_VARIANT#value, WIN32OLE::VARIANT... -
WIN32OLE
_ VARIANT . new(val , vartype = nil) -> WIN32OLE _ VARIANT (10.0) -
指定したオブジェクトを値とするWIN32OLE_VARIANTオブジェクトを生成します。
...ジェクトを値とするWIN32OLE_VARIANTオブジェクトを生成します。
@param val ラップするRubyオブジェクトを指定します。
@param vartype 省略時はWIN32OLEが自動型変換を行います。指定する場合は
WIN32OLE::VARIANTの定数を指定し......持つWIN32OLE_VARIANTオブジェクトを返します。
@raise TypeError val引数の型がArray、String、Integer、Float、Time、
WIN32OLE、WIN32OLE_VARIANT、TrueClass、FalseClass、
NilClass のいずれでもありません。
shell = WIN32OLE.new('......Shell.Application')
folder = shell.NameSpace('C:\\Users\\Public\\Documents')
item = folder.ParseName('test.txt')
v = WIN32OLE_VARIANT.new('Delete')
item.invokeVerb(v) # => ゴミ箱への移動ダイアログを表示
バイト配列を生成するには、以下のようにvartype...