用于打开和关闭 Internet Explorer 窗口的访问代码 - 在不同的过程中运行



我被要求创建一个访问数据库,该数据库一次读取一条记录,并显示一个关联的网站。然后在用户更改了一些数据,并移动到下一条记录之后,我想确保网站在打开新网站之前已经关闭,以确保用户不会错误地查看错误的网站。

到目前为止,我声明了一个公共变量来操作浏览器窗口(首先作为对象,然后专门作为 Internet Explorer 对象),使用可见、导航和忙碌命令通过公共子安全地打开网站,这个子在表单加载和表单当前时都调用,最后尝试关闭窗口, 在"当前窗体"中,使用 Quit 命令。见下文。

    Public IEtest As InternetExplorer
    Public Sub OpenIE(strURL As String)
    Set IEtest = New InternetExplorer
    IEtest.Visible = True
    IEtest.Navigate strURL
    While IEtest.Busy
        DoEvents
    Wend
    End Sub
    Private Sub Form_Current()
    With IEtest
            .Visible = False
            .Quit
    End With
    Call OpenIE(Me.Imagelink)
    end sub

我的问题是 quit 命令正在执行:加载表单时第一次传递时没有任何内容;然后在移动到新记录时,我收到自动化错误2147417848 -...与客户端断开连接...

我做错了什么?你能给我代码来最好地做到这一点吗?

现在

它正在工作,解决方案是:

      Public IEtest As InternetExplorer
      Public Sub OpenIE(strURL As String)
       Set IEtest = GetObject("new:{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}")
      With IEtest
          .Visible = True
          .Navigate strURL
          .AddressBar = True
          .MenuBar = True
          .StatusBar = True
          .Toolbar = True
          .Height = 860
          .Width = 1430
          .Left = 1
          .Top = 1
          While .Busy
              DoEvents
          Wend
      End With
  End Sub
Private Sub Form_Current()
    On Error Resume Next
    IEtest.Quit
    If Not IsNull(Me.Imagelink) Then
        Call OpenIE(Me.Imagelink)
    End If
End Sub

最新更新