WebBrowser中显示的HTML文件中有一个<input id=XXX>.HTML显示出来后,用户可以用鼠标点击那个<input>,
或对其内容进行修改等,这肯定会触发该<input>的某些事件,如果是做网页的话就很好办,写个VBScript就可以
了.而我希望能在WebBrowser所在的VB程序中接收到这些事件,然后在这些事件中用VB程序响应.不知这样可
不可能
Private Sub WB_NavigateComplete2(ByVal pDisp As Object, URL As Variant)
Dim i, j
Dim xo, yo
For i = 0 To WB.Document.All.length - 1
If UCase(WB.Document.All(i).tagName) = "INPUT" Then
Set xo = WB.Document.All(i)
If LCase(xo.Type) = "text" Then
xo.Value = "OKOK"
End If
End If
If WB.Document.All(i).tagName = "TEXTAREA" Then
Set xo = WB.Document.All(i)
xo.Value = "Textarea"
End If
Next i
End SubPrivate Sub Command5_Click()
Dim vDoc, vTag
Dim i As Integer
Set vDoc = WB.Document
For i = 0 To vDoc.All.length - 1
If UCase(vDoc.All(i).tagName) = "INPUT" Then
Set vTag = vDoc.All(i)
If LCase(vTag.Type) = "submit" Then
Debug.Print "sub"
vTag.Select
vTag.Click
Exit Sub
End If
End If
Next i
End SubPrivate Sub Command1_Click()
WB.Navigate "www.yahoo.com.cn"
End SubWB是Webbrowser控件,点击Command1浏览 Command5点击按钮。首先你需要在
References定义中加入Microsoft HTML Object Library
或对其内容进行修改等,这肯定会触发该<input>的某些事件,如果是做网页的话就很好办,写个VBScript就可以
了.而我希望能在WebBrowser所在的VB程序中接收到这些事件,然后在这些事件中用VB程序响应.不知这样可
不可能
Private Sub WB_NavigateComplete2(ByVal pDisp As Object, URL As Variant)
Dim i, j
Dim xo, yo
For i = 0 To WB.Document.All.length - 1
If UCase(WB.Document.All(i).tagName) = "INPUT" Then
Set xo = WB.Document.All(i)
If LCase(xo.Type) = "text" Then
xo.Value = "OKOK"
End If
End If
If WB.Document.All(i).tagName = "TEXTAREA" Then
Set xo = WB.Document.All(i)
xo.Value = "Textarea"
End If
Next i
End SubPrivate Sub Command5_Click()
Dim vDoc, vTag
Dim i As Integer
Set vDoc = WB.Document
For i = 0 To vDoc.All.length - 1
If UCase(vDoc.All(i).tagName) = "INPUT" Then
Set vTag = vDoc.All(i)
If LCase(vTag.Type) = "submit" Then
Debug.Print "sub"
vTag.Select
vTag.Click
Exit Sub
End If
End If
Next i
End SubPrivate Sub Command1_Click()
WB.Navigate "www.yahoo.com.cn"
End SubWB是Webbrowser控件,点击Command1浏览 Command5点击按钮。首先你需要在
References定义中加入Microsoft HTML Object Library
解决方案 »
- 问个问题----很急!!
- 谁有动态修改本机ip而不重启机器的源代码~~100分贡献出出来,不够在加~~
- 为什么下列SQL语句在VB中无法运行呢?
- 〓〓〓急、急、急 在VB6中关于MScomm32.ocx短信群发、实时接收短信问题?
- 请问怎样实现 弹出式函数、方法、对象自动提示;代码自动完成的功能
- 如何实现VScrollbar控件相应鼠标滚轮滚动
- 图像压缩
- 向高手们请教(我把Excel放在VB窗体里,可是Excel这个家伙不让我编辑,怎么收拾它???)在线急!!!
- adodc连接超期过时的问题
- 钩子函数????
- 怎样动态添加控件???
- 怎么在一个框中插入jpg格式的图片和数学公式?用什么好?恳求高手帮忙?
首先在程序中加入Webbrowser控件并加入引用 Microsoft HTML Object Library。
假设你的HTML页面表单代码如下:
<form method="POST" action="http://chen/dll/chat/chatmain.exe/RegUser">
<p>请填写下面表单注册(*项为必添项)</p>
<p>*姓名<input type="text" name="Name" size="20"></p>
<p>*昵称<input type="text" name="NickName" size="20"></p>
<p>电子邮件<input type="text" name="EMail" size="20"></p>
<p>*密码<input type="text" name="Password" size="20"></p>
<p><input type="submit" value="提交" name="B1"><input type="reset" value="全部重写" name="B2"></p>
</form>
注意其中元素的type、Name、value属性。然后VB中的代码如下:
Private Sub Command1_Click()
WebBrowser1.Navigate "http://chen/chat/newuser.htm"
End SubPrivate Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
Dim vDoc, vTag
Dim i As Integer
Set vDoc = WebBrowser1.Document
List1.Clear
For i = 0 To vDoc.All.length - 1
If UCase(vDoc.All(i).tagName) = "INPUT" Then
Set vTag = vDoc.All(i)
If vTag.Type = "text" Or vTag.Type = "password" Then
List1.AddItem vTag.Name
Select Case vTag.Name
Case "Name"
vTag.Value = "IMGod"
Case "NickName"
vTag.Value = "IMGod"
Case "Password"
vTag.Value = "IMGodpass"
Case "EMail"
vTag.Value = "[email protected]"
End Select
ElseIf vTag.Type = "submit" Then
vTag.Click
End If
End If
Next i
End Sub
点击Command1就可以自动填表并提交了。