0

ある繰返し処理の中の、スクリプト実行ノードの中に下記のコードを書いています。(ここから、ここまで)

シナリオの概要は、excelシートのC列に書かれた顧客コードを上から順番に読み込み、あるサイトで、顧客コードを検索キーにして検索し、titleタグの情報をmsgboxで画面に表示するものです。

最初のループでは、最初の顧客コードのtitleタグの情報を最後のmsgbox titleで表示できましたが、2番目のループ、3番目のループでも、相変わらず、最初の顧客コードのtitleタグの情報が表示されます。

下記のコードの先頭行でGetUMSWindowTitleで、毎回新しいtitleタグ情報を取りに行っているように見えるのですが、どうしてでしょうか?

コードの修正方法を教えてください。

------ここから
' 引数を解釈する
ieTitle   = GetUMSWindowTitle(@ウィンドウ識別名@)

' 戻り値
Dim result

If isNull(ieTitle) Then
  Err.Raise 1, "", "指定されたウィンドウが存在しません。"
  WScript.Quit
End If

' 指定されたページのdocumentを取得する
Set document = Nothing
Set shell = CreateObject("Shell.Application")
For i = 0 To shell.Windows.Count - 1
  Set window = shell.Windows(i)

  title = Empty
  On Error Resume Next
    title = window.document.title
  On Error Goto 0

  If title <> Empty Then
    If InStr(ieTitle, title) = 1 Then
      Set document = window.document
      Exit For
    End If
  End If
Next

If document Is Nothing Then
  Err.Raise 1, "", "指定されたタイトルのページが開かれていません。"
  WScript.Quit
End If

' document内の指定されたテキストを含むリンクオブジェクトを取得する

On Error Resume Next
  Dim elements
  Dim buf
  Dim last_line

msgbox title

------ここまで

kenji 回答した質問
回答とコメントは、会員登録(無料)で閲覧できるようになります。