Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1281 / 76734 ←次へ | 前へ→

【81105】Re:起動済みIEを操作
回答  とおりすがり  - 19/10/30(水) 5:22 -

引用なし
パスワード
   もう見てないかもしれないですが。

原因は「If DocumentTitle = "" Then」のところで、DocumentTitleを空白にしているために、
IEを判別できていないのだと思います。

取得しているシェルのうち、IEではないものは基本的にdocument.titleを持っていない=DocumentTitleが空白になります。
その結果、IEでないものが「If DocumentTitle = "" Then」の条件に一致してしまっている状態です。
(説明下手ですね。ごめんなさい。)

操作したいページのTitleタグの部分を指定すればいいんだと思いますが、
もしかしたらそのページはTitleタグの部分が空白になっているということですかね。

だとしたら、別のアプローチですが、下記ではどうでしょうか。
(もしたくさんタブを開いている状態だとしたら、タブを判別するためにもう一工夫必要かもしれません)

Sub test()

  Dim ie As InternetExplorer
  Dim sh As Object
  Dim win As Object
  Dim DocumentTitle As String

Set sh = CreateObject("Shell.Application")

  For Each win In sh.Windows
    If TypeName(win.document) = "HTMLDocument" Then
      Set ie = win
      Exit For
    End If
  Next
  
  ie.document.getElementsByTagName("TITLE")(0).innerText = ""

End Sub

8 hits

【81097】起動済みIEを操作 けんじ 19/10/17(木) 18:14 質問[未読]
【81105】Re:起動済みIEを操作 とおりすがり 19/10/30(水) 5:22 回答[未読]

1281 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free