如何输入webbrowsercontrolobj.document到mshtml.HTMLDocument VB6?或者如何在vb6中提交在webbrowser控件中加载的表单?

时间:2011-12-16 07:23:59

标签: vb6 webbrowser-control mshtml

您好我只在VB6中编写代码(没有VB.NET)

我有一个名为webbrowser1的webbrowsercontrol对象 我在项目中添加了 microsoft html对象库的参考。

我正在尝试这一行,但却给出了错误。

Dim doc as MSHTML.HTMLDocument
doc = DirectCast(webbrowser1.document, MSHTML.HTMLDocument)

第2行给出的错误是MSHTML.HTMLDocument中找不到任何方法或数据 请帮我解决这个问题。

我想要的是我有一个网页有2个(html表格)。我正在加载该页面 webbrowser控制,

webbrowser1.navigate "url"

我已经映射了事件来处理webbrowser1文档中的html按钮点击。 当用户点击此按钮时,我想提交第二种形式的html页面。 还有其他办法吗?

我也尝试过以下代码

'this line is working properly
'this is the code to submit first form in html page
webbrowser1.document.Forms(0).submit     

但是当我做的时候

'this line is giving error though there are 2 forms available in html page
webbrowser1.document.Forms(1).submit

所以最终目标是提交第二种形式的HTML文档。 请告诉我正确的方向。

2 个答案:

答案 0 :(得分:1)

您需要将Dim doc更改为MSHTML.HTMLDocument,将Dim doc更改为MSHTML.IHTMLDocument。

注意IHTMLDocument在开始时有一个I,然后尝试提交表单。

此外,在VB6中没有DirectCast这样的东西 - 这只是VB.NET的东西。

所以就这样做:

Dim doc as MSHTML.IHTMLDocument

Set doc = webbrowser1.document

现在你将获得关于doc的intellisense。 :)

让我知道它是怎么回事。

答案 1 :(得分:0)

您是否尝试过直接分配?

Dim doc as MSHTML.HTMLDocument 
Set doc = webbrowser1.document

VB6并不真正进行转换,但您可以通过盲目地使用Object类型的变量将其分配给所需类型的变量或(后期绑定)来访问任何方法(早期绑定)。