言って、これは私のコードです
文字列としての薄暗いアドレス
WebBrowser1.Document.parentWindow.execScript("var a = document.form1.address.text", "JavaScript")
document.form1.address.text
VB6 変数 の値を抽出するにはどうすればよいAddress
ですか?
言って、これは私のコードです
文字列としての薄暗いアドレス
WebBrowser1.Document.parentWindow.execScript("var a = document.form1.address.text", "JavaScript")
document.form1.address.text
VB6 変数 の値を抽出するにはどうすればよいAddress
ですか?
DOM を使用できます。
シンプルな HTML フォームがあるとしましょう:
<html>
<body>
<form name="form1">
Address: <input type="text" id="address">
</form>
</body>
</html>
コントロールにロードし、WebBrowser
DOM の準備ができていることを確認したら、address
次の方法でフィールドのテキストを取得できます。
Private Sub cmdGetAddressText_Click()
Dim HTMLElement As Object
Dim Address As String
Set HTMLElement = WebBrowser1.Document.GetElementByID("address")
Address = HTMLElement.Value
MsgBox Address
End Sub
編集:
それよりもさらに簡単です。VB6 からフィールド値に直接アクセスできます。
Address = WebBrowser1.Document.Form1.Address.Value
編集#2
必要に応じて、JavaScript 変数の値を取得することもできます。
Private Sub cmdJSVar_Click()
Dim Address As String
Call WebBrowser1.Document.parentWindow.execScript("var a=document.form1.address.value; alert(a);")
Address = WebBrowser1.Document.Script.a
MsgBox Address
End Sub
のJS 変数名.Script.a
は大文字と小文字が区別されることに注意してください (つまり、機能し.Script.A
ません)。これを理解するのに時間がかかりました。
IDispatch
実装を提供することはできますが、window.external
VB6 で行うのは簡単ではありません。
JSで使用して、VB6location
のイベントでキャプチャできるアドレスに移動する方が簡単です。たとえば、「コールバック」ホストを検出し、パラメーターを解析してナビゲーションをキャンセルします。Navigate
http://callback?param=value¶m2=anothervalue