2026年11月2日 · 今日 0 帖 · 会员 6.1万 · 主题 17.4万
登录 · 注册 · 游客,欢迎随便逛逛
返回版块
1000
Lv9有为九子能等级图标
勋章勋章勋章勋章勋章
帖子
9.3万
回复
2,089
积分
60.3万
注册
2006-12-06
[怀旧国机]

利用VB实现对IE 的调用与控制

[复制链接]
查看 188 回复 1
楼主 发表于 | 只看该作者
学编辑技术就到┆◆◇ 繁花殿☆★┆论坛

随着网络应用的不断扩展,采用

html语言编写的文档越来越多,如

何在vb程序中实现对html文档的浏

览是一个需要解决的问题。本文以

一个实例说明了在vb中调用和控制

internet explorer的方法。

  一、 编程准备

  vb通过ole自动化技术创建和

控制internet explorer对象的实例,

因此,在新建一个工程后需要加入

microsoft internet 控制的参考,方

法是打开visual basic 的project下拉

菜单中的reference…选项,单击

browse…按钮,在windows的

system目录下找到shdocvw.dll并

选中它,它是internet explorer的类

库。

  二、 实现方法

  在窗体form1中添加表1所示的

控件。 控件类型 控件名称 控件内容

label lable1 地址:

text text1 (空)

* cmdview 浏览

* cmdforward 向前

* cmdbackward 向后

* cmdcloseview 关闭浏览

窗口

* cmdexit 退出

  对上述窗体添加如下代码即可

实现对internet explorer的调用与控

制,

  dim withevents ieview as

internetexplorer

  ‘在通用模块中定义internet

explorer对象

  private sub form_load()

  cmdforward.visible = false

  cmdbackward.visible = false

  cmdcloseview.visible = false

  ‘窗体调入时隐藏internet

explorer控制按钮

  end sub

  private sub cmdview_click()

  dim txtaddress as string

  on error resume next ‘设置错

误陷阱

  set ieview = getobject(““,

“internetexplorer.application“)

  ieview.visible = true

  ‘创建internet explorer对象的一

个实例,并设为可见

  txtaddress = trim(text1.text)

  ieview.navigate txtaddress,

navnoreadfromcache

  ‘按text1控件的内容进行浏览

  cmdview.enabled = false

  cmdexit.enabled = false

  cmdforward.visible = true

  cmdbackward.visible = true

  cmdcloseview.visible = true

  ‘使浏览、退出命令钮无效,使

ie控制命令钮可见

  end sub

  private sub cmdforward_click

()

  on error resume next ‘设置错

误陷阱

  ieview.goforward

  end sub

  private sub cmdbackward_

click()

  on error resume next ‘设置错

误陷阱

  ieview.goback

  end sub

  private sub cmdcloseview_

click()

  on error resume next ‘设置错

误陷阱

  ieview.quit

  end sub

  private sub ieview_onquit()

  set ieview = nothing

  ‘消除ieview对象

  cmdforward.visible = false

  cmdbackward.visible = false

  cmdcloseview.visible = false

  cmdview.enabled = true

  cmdexit.enabled = true

  ‘恢复初始按钮状态

  end sub

  private sub cmdexit_click()

  end

  end sub

  程序启动后“向前“、“向

后“、“

关闭浏览窗口“等命令钮不可

见,在文本框内输入相应的url地

址,单击“浏览“按钮即可调入

internet explorer进行浏览,此

时,“向前“、“向后“、“关闭浏览窗

口“命令钮转为可见,从而实现对浏

览器的控制,单击“关闭浏览窗口“命

令按钮可关闭当前打开的internet

explorer窗口,此时窗口又还原为初

始模样,可再次输入新的地址进行

浏览。

  三、 注意问题

  1. 必须在最上层通用模块中定

义internet explorer对象,并且将其

定义为withevents类型以便响应由

active x组件触发的事件;

  2. 浏览时需用下述语句创建

internet explorer对象实例,并设为

可见:

  set ieview = getobject(““,

“internetexplorer.application“)

  ieview.visible = true

  退出时须消除该对象以释放内

存,即

  set ieview = nothing

  否则会因大量占用系统资源导

致系统不稳定。

  3. 调用和控制internet explorer

过程中会产生各种错误,如在浏览

器历史记录为空时,执行“向

前“、“向后“操作就会产生ole自动化

错误,必须在“浏览“、“向前“、“向

后“、“关闭浏览窗口“等命令按钮相

应程序模块开始处加入错误捕获语

句:

  on error resume next

  以检测和处理类似错误,上述

程序在windows98、vb 5.0环境下调

试通过。

登录回复
106008
Lv6胸怀六国志等级图标等级图标等级图标
勋章勋章勋章勋章勋章勋章勋章
帖子
27
回复
6,810
积分
40.7万
注册
2012-05-02
1 楼

<br/>钓鱼岛是中国的,苍井空才是全世界的!

登录后可以回复这个帖子。旧账号可使用原密码登录。

登录 注册新号
← 返回版块