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