vb调用ie:利用VB实现对IE的调用和控制

  随着网络应用不断扩展采用HTML语言编写文档越来越多如何在VB中实现对HTML文档浏览是个需要解决问题本文以个例子介绍说明了在VB中和控制Internet Explorer思路方法

  、 编程准备

  VB通过OLE自动化技术创建和控制Internet Explorer对象例子因此在新建个工程后需要加入Microsoft Internet 控制参考思路方法是打开Visual Basic Project下拉菜单中Reference…选项单击Browse…按钮在Windowssystem目录下找到SHDOCVW.DLL并选中它它是Internet Explorer类库

   2、 实现思路方法

  在窗体form1中添加表1所示Control控件 Control控件类型 Control控件名称 Control控件内容
Label Lable1 地址:
Text Text1 (空)
Command cmdView 浏览
Command cmdForward 向前
Command cmdBackward 向后
Command cmdCloseView 关闭浏览窗口
Command 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

  '按text1Control控件内容进行浏览

  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窗口此时窗口又还原为模样可再次输入新地址进行浏览

   3、 注意问题

  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环境下调试通过

Tags:  vb调用程序 vb调用数据库 vb调用dll vb调用ie

延伸阅读

最新评论

发表评论