繁体   English   中英

Internet Explorer自动化内部网站

[英]Internet Explorer Automation Internal website

我公司有一个内部网站,我们在这里可以获取很多信息。 我相信该站点使用活动目录进行身份验证。 我想使用vba / excel来自动执行浏览器并获取数据。 以下代码仅适用于Google等其他网站,但不适用于我们的网站。 该代码将加载我们的网站,但此后将出错。

Sub GetData()
Dim WP As Object
Dim DC As Object
Dim OB As Object
Set WP = CreateObject("InternetExplorer.application")
WP.Visible = True
WP.Navigate "http://OurSite/Shared/QueryFarm.aspx?queryid=1"
Do While WP.Busy = True
Loop
Set DC = WP.Document 'ERROR HERE
Set OB = DC.getElementsByName("__CS__")
OB(0).Value = "Search"
WP.Quit
End Sub

我在set dc = wp.document收到“自动化/未指定的错误”。 我已经尝试过了

Set OB = wp.document.getElementsByName("__CS__")

我还尝试将对象类型更改为InternetExplorerHTMLInputElementHTMLDocument

我过去曾经这样做,但是已经很长时间了,我没有保存代码。 现在我在挣扎。

活动目录使这不可能吗? 我是否缺少设置/参数?

像这样:

Sub GetData()
Dim WP As Object
Dim DC As Object
Dim OB As Object

    Set WP = CreateObject("InternetExplorer.application")
    WP.Visible = True
    WP.Navigate "http://OurSite/Shared/QueryFarm.aspx?queryid=1"

    WaitForLoad WP

    Set DC = WP.Document         
    Set OB = DC.getElementsByName("__CS__")
    OB(0).Value = "Search"
    'WP.Quit

End Sub

Sub WaitForLoad(IE as object)
    Do While IE.Busy = True or IE.ReadyState <> 4
        DoEvents
    Loop
End Sub

我实际上发现这是安全的事情。 在对互联网设置/安全性进行一些更改之后,它似乎可以正常工作。 但是,我不确定到底发生了什么,因为我将所有设置放回原处就可以了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM