No Programming, No Life

プログラミング関連の話題や雑記

COMオブジェクトのコレクション

col = IE.document.getElementsByTagName("xxxx")

を使ってタグのコレクションをひっこ抜いてきたのはいいのですが、
これを素直にfor文とかで回そうとしてもUWSCではうまくいきません。

// COMオブジェクトのコレクションを取得
col = IE.document.getElementsByTagName("TD")

FOR i = 0 TO col.length - 1
    PRINT col[i].innerText
NEXT

これはcol[i]というアクセスの仕方ができないからみたいです。


そこで、UWSCでは以下の様にしてCOMオブジェクトのコレクションにアクセスするみたいです。

// COMオブジェクトのコレクションを取得
col = IE.document.getElementsByTagName("TD")

FOR i = 0 TO GETOLEITEM(col) - 1
    item = ALL_OLE_ITEM[i]
    PRINT item.innerText
NEXT

GETOLEITEM(col)の戻り値はコレクションの長さで、この関数を呼び出すと
ALL_OLE_ITEM[]という配列にコレクション要素が格納されるようです。