代码之家  ›  专栏  ›  技术社区  ›  Friedrich

从嵌入的Internet Explorer获取返回值

  •  0
  • Friedrich  · 技术社区  · 16 年前

    我知道如何在VBA应用程序中打开Internet Explorer。但如何从正在运行的资源管理器获取“返回”值到VBA应用程序。例如,假设我尝试访问 http://page_not_there 返回错误400

    如何在我的VBA应用程序中获取该值并进行相应的操作。任何提示、链接或编程示例都非常受欢迎。

    精细的编辑是可能的。所以顺序是: 信息被发送,我得到一个HTML字符串,可以从IE中用来签署一个文档。当然,对于这一点,必须在IE中点击一下,但最后,如果签名成功,我会得到一种“反馈”,我需要这个“反馈”来知道我是否可以继续。

    我关上了我的窗户,所以小心拿着他的。我是这样开始的

    set ie = CreateObject("InternetExplorer.Application")
    ie.navigate2 "to_where_I_want"
    

    这就是全部。

    然后,我得到一个页面,其中Java applet正在运行,用于注册URL查询。 上面(“到我想要的地方”)我在那里有几个按钮,在点击签名后,我必须输入我的密码,然后我对IE浏览器的输出感兴趣。

    据我所知,我最好创建一个带有Web控件的表单,并使用它进行浏览和签名。

    当做 弗里德里希

    1 回复  |  直到 16 年前
        1
  •  1
  •   Fionnuala    16 年前

    以下是获取页面状态的一种方法的一些注释。

       Dim http As Object
       Dim xmlhttp As Object
    
           Set http = CreateObject("MSXML2.ServerXMLHTTP.4.0")
           Set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP")
    
           On Error Resume Next
    
           xmlhttp.Open "GET", url, False
           ''This alternative can return status 405 in some cases
           ''xmlhttp.Open "HEAD", url, False
           xmlhttp.Send ""
    
           ''You can get the status of the page
           Status = xmlhttp.Status
    
           If Err.Number <> 0 Or Status <> 200 Then
               IsLink = False
           Else
               IsLink = True
           End If
    
           Set xmlhttp = Nothing
    

    编辑:一些注释重新评论

    假设有一个名为wb form的表单,其中包含一个名为wb的控件,该控件是Microsoft Web浏览器控件:

     ''Navigate to a non-existent page 
     Forms!WBForm!WB.Navigate "http://lessthandot.com/somepage.htm"
     ''Title of the page
     MsgBox Forms!WBForm!WB.Document.Title
    

    在上述情况下,标题将包含“HTTP 404 Not Found”。还可以使用各种元素读取文档。

    The document object model Scripting with Elements and Collections