Internet explorer 从嵌入式Internet explorer获取返回值

Internet explorer 从嵌入式Internet explorer获取返回值,internet-explorer,ms-access,vba,Internet Explorer,Ms Access,Vba,我知道如何从VBA应用程序中打开Internet explorer。但是如何从正在运行的资源管理器向VBA应用程序获取“返回”值。让我们假设我试图访问 并得到一个错误400 如何在VBA应用程序中获取此值并相应地执行操作。欢迎提供任何提示、链接或编程示例 精细编辑是可能的。因此,顺序是: 信息被发送,我得到一个HTML字符串,可以从IE中使用它来签署文档。当然,对于这一点,我必须在IE中点击一点,但在最后,如果签名成功,我会得到一种“反馈”,我需要这个“反馈”来知道我是否可以继续 我已经关上了窗

我知道如何从VBA应用程序中打开Internet explorer。但是如何从正在运行的资源管理器向VBA应用程序获取“返回”值。让我们假设我试图访问 并得到一个错误400

如何在VBA应用程序中获取此值并相应地执行操作。欢迎提供任何提示、链接或编程示例

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

我已经关上了窗户,所以要小心点。我是这样开始的

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

然后我得到一个页面,其中运行一个Java小程序,用于对URL选项进行签名 上面(“to_where_I_want”)我有几个按钮,在点击签名后,我必须输入我的PIN,然后我对IE浏览器的输出感兴趣

据我所知,我最好创建一个带有Web控件的表单,并将其用于浏览和签名

问候
Friedrich

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

   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
在上述情况下,标题将包含“HTTP 404未找到”。还可以使用各种元素读取文档


我认为这将取决于您如何从VBA加载Internet Explorer。如果您包含加载IE的代码,这将有助于获得更快的响应。这不是从嵌入式IE webbrowser控件获取HTTP状态代码,而是创建一个XML HTTP请求对象并从中获取状态代码。完全不同的东西。虽然这不完全是要求的,但它在VBA中工作。@Remou的答案实际上更好,因为使用它不必在浏览器控件中显示结果。在我看来,原来的问题是有缺陷的,因为它使浏览器控制权优先于直接处理结果。请问缺陷是什么?啊,我明白了,我刚才提到了身份代码。我似乎无法编辑我的问题。现在我们开始:由于对文档进行了签名,所以调用了浏览器。因此,仅仅“打了就跑”是不够的,我们必须了解到底发生了什么。如果您只想获取一个页面及其返回值,上面的代码就可以工作。所以它不能回答我的问题,因此我有权否决它。对不起,我不能修改我上面的评论。我投了更高的票,因为如果我不必对正在加载的页面做任何工作,这将是一条可行之路。不幸的是,我似乎无法修改我原来的问题来澄清它。所以它一定在评论里。我需要在浏览器中对文档进行签名,并需要在最后以某种方式检查此签名是否成功。
 ''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