WebBrowser1.Document 不能转换成 mshtml.HTMLDocument

hwmfly 2007-01-29 08:42:06

Dim doc As mshtml.HTMLDocument
doc = WebBrowser1.Document

错误提示:
Unable to cast object of type 'System.Windows.Forms.HtmlDocument' to type 'mshtml.HTMLDocument'.

开发环境 vb.net 2005

相关资料查找及背景介绍:

我以前用vb写的分析网页的代码,WebBrowser1 和 mshtml配合的很好,现在想把它用vb.net 2005重写,第一步就被卡住了如果我使用 System.Windows.Forms 命名空间中的HTMLDocument(System.Windows.Forms.HtmlDocument )
就没有这个类型转换问题。但是System.Windows.Forms 命名空间中的类型太少,比如我要对表格进行控制,他就没有IHTMLTable类型。

我用各种方法进行搜索收获不大,只得到一点提示,说是 .net 中的COM是unmanged代码不能直接使用,mshtml正是COM。
http://www.zhuye123.com/Article/156/161/2006/2006042328784.html
http://www.evget.com/article/read_1061.aspx

就是没有找到解决办法,请高手指点。。

谢过!!!

...全文
1271 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hwmfly 2007-02-03
  • 打赏
  • 举报
回复
to:
jiangsheng(蒋晟.Net[MVP])
net_lover(【孟子E章】)

谢谢两位大虾,你们的方法都可以用
是不是VS2005不推介使用mshtml.IHTMLDocument2

孟子E章 2007-01-30
  • 打赏
  • 举报
回复
现在统一使用HtmlElement和DOM方式操作了

Dim doc As HtmlDocument
Dim table As HtmlElement
Dim tables As HtmlElementCollection
doc = WebBrowser1.Document
tables = doc.GetElementsByTagName("TABLE")
For i As Integer = 0 To tables.Count - 1
table = tables(i)
MessageBox.Show(table.FirstChild.TagName)
Next
蒋晟 2007-01-30
  • 打赏
  • 举报
回复
Dim doc As mshtml.IHTMLDocument2
doc = WebBrowser1.Document.DomDocument

16,552

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧