お世話になってます
WebBrowserコントロールについてお聞きします
VB6フォーム内にテキストボックス1個と
WebBrowserコントロール(以下WBCと略)をおきまして
フォームロード時にWBCには自前のHTMLファイルを表示させるとします
ここで質問なのですが
WBCに表示させているHTMLのオブジェクトをクリックするタイミングで
そのオブジェクトの値(Valueとか)がフォーム上の
テキストボックスに入力される・・ってできますでしょうか?
つまりコンテンツ内のOnclickイベントで実行される結果をVBフォーム側に
投げれるのかってことなのですが・・・
一応「Browser」でログ検索しておりますが質問が既出でしたらすみません
どなたかご教授の程宜しくお願いいたします
onclickイベントを取得するなら、MSHTML.TLB ファイルを参照設定して、
WithEvents 変数で受け取れば OK です。
(参照設定せずに onclick を受け取る方法もありますけれどね)
「自前のHTMLファイル」の内容がわからなかったので、ここでは
HTMLの内容を動的に生成していますが、HTMLファイルを表示させる場合も
基本的には同様で、WithEvents 変数で受け取るだけで取得できるかと。
Option Explicit
Private WithEvents Body As MSHTML.HTMLBody
Private H1 As MSHTML.HTMLHeadElement
Private Function Body_onclick() As Boolean
H1.innerText = Format(Now(), "YYYY-MM-DD hh:mm:ss")
End Function
Private Sub Form_Load()
WebBrowser1.Navigate2 "about:blank"
End Sub
Private Sub Form_Resize()
WebBrowser1.Move 0, 0, ScaleWidth, ScaleHeight
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
With WebBrowser1.Document
Set Body = .Body
Set H1 = .createElement("H1")
End With
H1.runtimeStyle.backgroundColor = "Window"
Body.insertAdjacentElement "afterBegin", H1
H1.innerText = "クリックしてください。"
With Body.runtimeStyle
.margin = "0px"
.BorderStyle = "none"
.overflow = "hidden"
.backgroundColor = "ThreeDFace"
End With
End Sub
魔界の仮面弁士さんご返答ありがとうございます
えー今、勤務中につき、頂いたソースを動作できませんが
夜には動かせると思いますので、またご返信差し上げたく思います
とりあえず、大変ありがとうございました!
夜まで待てずこちら頂いたソースをただいま確認しました
当方のやりたかったこととほぼおなじです
H1.innerText = Format(Now(), "YYYY-MM-DD hh:mm:ss")
に以下の文を加えさせて頂きました
me.caption = H1.innerText
後は「MSHTML」でログ検索すればソースの宝が掘れましたので十分です
ありがとうございました!!!
ツイート | ![]() |