COMオブジェクト操作関連

COMオブジェクト操作関連関数

COMについては上級者編で解説されております。
関数を使用した具体的なCOMオブジェクトの活用例は上級者編をご参照下さい。

CREATEOLEOBJ

COMオブジェクト生成
戻値 = CREATEOLEOBJ( COMオブジェクト名 )
引数
 COMオブジェクトを指定
戻値
 COMオブジェクト
なお、COMからメソッド使用時に引数に値取得がある場合
引数の変数の前にVarを付記


GETACTIVEOLEOBJ

既に起動中のCOMオブジェクトを取得
戻値 = GETACTIVEOLEOBJ(COMオブジェクト名,[タイトル, 順番])
引数
 COMオブジェクトを指定
 タイトル: 複数時にタイトルで区別(部分一致可)
 なお、Excel、Access、Wordの場合はファイル名を指定
 IE、Office以外では無効
 順番: IEのみ有効、タイトルが同じ時に区別
戻値
 COMオブジェクト


GETOLEITEM

コレクションの取得
戻値 = GETOLEITEM( コレクションプロパティ名)
引数
 コレクションプロパティ名:COMオブジェクトのコレクション取得プロパティ名を指定
戻値
 取得したコレクションの数
 取得したコレクションは配列変数の
 ALL_OLE_ITEM[ ]に配列ゼロから格納


OLEEVENT

イベント処理の定義
OLEEVENT( COMオブジェクト, インタフェース名, イベント名, Procedure名)
引数
 COMオブジェクトを指定
 インタフェース名: ディスパッチインタフェース名
 イベント名
 Procedure名:UWSC側Procedure
 Procedure内にてイベントの引数は配列変数EVENT_PRM[ ]に配列ゼロから格納


COM_ERR_IGN-COM_ERR_RET

COMエラーメッセージの抑止
COM_ERR_IGN
 ・・・COM処理・・・
COM_ERR_RET
COM処理中のエラーはCOM_ERR_FLG にTRUEが設定


SAFEARRAY

SAFEARRAY型の作成
戻値 = SAFEARRAY( [下限, 上限])
引数
 下限: 配列の下限を設定
 上限: 配列の上限を設定
戻値
 作成されたSAFEARRAY型を返す


タグ

2012年8月16日 | コメントは受け付けていません。 |

カテゴリー:関数一覧

script0002


script0002
アクティブにしたウィンドウのタイトルタグを取得するサンプル
参考:http://canal22.org/gyaku/getactiveoleobj/

ダウンロードする

タグ

2012年6月3日 | コメントは受け付けていません。 |

カテゴリー:ツール

COMコンポーネントの開いているウィンドウを制御する(GETACTIVEOLEOBJ)

開いているウィンドウを制御する
GETACTIVEOLEOBJ(“InternetExplorer”,ウィンドウタイトル)

GETACTIVEOLEOBJ関数は、
既に開いているウィンドウを制御する場合に使います。
「ウィンドウタイトル」は制御したい対象のウィンドウタイトルを記述しますが、
一部でも構いません。 ※一部アプリでは無効

アクティブにしたウィンドウのタイトルタグを取得するサンプル

IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
IE.Navigate("http://www.google.co.jp/")
BusyWait(IE)

IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
IE.Navigate("http://www.yahoo.co.jp/")
BusyWait(IE)

FOR KAISU = 1 TO 5
	IE = GETACTIVEOLEOBJ("InternetExplorer.Application","Google")
	SLEEP(1)
	PRINT IEGetSrc(IE, "TITLE")
	IE = GETACTIVEOLEOBJ("InternetExplorer.Application","yahoo")
	SLEEP(1)
	PRINT IEGetSrc(IE, "TITLE")
NEXT


Procedure BusyWait(ie)
  Sleep(0.5)  // Wait
  Const TIME_OUT = 90
  tm = Gettime()
  repeat
    Sleep(0.2)
    ifb Gettime() - tm > TIME_OUT
      MsgBox("Time Out:BusyWait")
      ExitExit
    endif
  until (! ie.busy) and (ie.readyState=4)
  Sleep(0.5)
Fend

解説

このプログラムを動かすと、
GETACTIVEOLEOBJが働いていることが確認できます。

タグ

2012年5月19日 | コメントは受け付けていません。 |

カテゴリー:逆引き関数

このページの先頭へ