WebBrowserコントロールでHTMLの書き換え


あゆ  2005-06-17 05:04:43  No: 90513

WebBrowserコントロールを使用して、HTMLDocumentの内容を書き換えることは可能でしょうか?

具体的には、NavigateComplete2イベントでHTML内のTITLEタグの値を書き換えたいのですが、書き換え方法が分かりません。

Private Sub WebBrowser1_NavigateComplete2(ByVal pDisp As Object, URL As Variant)

Dim objHTML As HTMLDocument
Dim objElement As IHTMLElement
Dim objDomNode As IHTMLDOMNode

Set objHTML = Me.WebBrowser1.Document

For Each objElement In objHTML.All
    If StrConv(objElement.tagName, vbLowerCase) = "title" Then
        Set objDomNode = objElement
        MsgBox objDomNode.Text  ←ここでTextの内容を変更したい。
    End If
Next

End Sub

のようにコードを記述しています。
どなたか、ご教授ください。


魔界の仮面弁士  2005-06-17 10:08:55  No: 90514

VB6系の記述ですね。

> HTMLDocumentの内容を書き換えることは可能でしょうか?
可能な部分と不可能な部分があります。

> For Each objElement In objHTML.All
ループせずとも、特定のタグを取得したいなら、
  Set objDomNode = objHTML.getElementsByTagName("TITLE")(0)
の一行で済みますよ。

> MsgBox objDomNode.Text  ←ここでTextの内容を変更したい。
コレで良いのかな。

Option Explicit

Private Sub Form_Load()
    WebBrowser1.Navigate2 "http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200506/05060064.txt"
End Sub

Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
    pDisp.Document.Title = "サンプルです。"
End Sub

Private Sub WebBrowser1_StatusTextChange(ByVal Text As String)
    Label1.Caption = Text
End Sub

Private Sub WebBrowser1_TitleChange(ByVal Text As String)
    Me.Caption = Text
End Sub


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加