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
のようにコードを記述しています。
どなたか、ご教授ください。
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
ツイート | ![]() |