1

我在 Citrix Virtual Desktop 上使用 VBA 从网站提取数据时遇到问题。

我首先在本地桌面上编写了我的代码,它运行良好 - HTML 源代码已被提取到 Excel 中的单元格中。在 VDI IE 上打开网站没有任何问题。

代码:

Sub GetBody()
Dim Body As String
the_start:

Set ObjIE = CreateObject("InternetExplorer.Application")
ObjIE.Visible = False

ObjIE.navigate ("https://pl.wikipedia.org/wiki/Wikipedia:Strona_g%C5%82%C3%B3wna")

    Do
    DoEvents

        If Err.Number <> 0 Then
            ObjIE.Quit
            Set ObjIE = Nothing
        GoTo the_start:
        End If

    Loop Until ObjIE.readyState = 4

    Body = ObjIE.document.Body.innerHTML
    Cells(1, 1).Value = Body

End Sub

当我尝试在 VDI 上运行此代码时,出现以下错误:

运行时错误“-2147467259(80004005)”:对象“IWebBrowser2”的方法“文档”失败。

这个错误来自哪里以及我应该添加什么以在 VDI 上成功运行它的任何想法?

4

1 回答 1

1

我已经做了评论中提到的一些更改(例如更改无限循环等)并且还有另一个错误(自动化错误调用的对象已与其客户端断开连接)。以前我已在下面的这一行中将 IE 声明为对象:

Set ObjIE = CreateObject("InternetExplorer.Application")

解决我所有问题的灵魂:

Dim IE as SHDocVw.InternetExplorer
Set IE = New InternetExplorerMedium

感谢大家参与此主题,非常感谢您的帮助!

于 2019-04-25T07:19:27.867 回答