我正在尝试编写一个 VBA 函数,它将获取特定已打开 IE 窗口的句柄。经过一番谷歌搜索后,我找到了以下代码:-
Public Function FindIEObject(target As String) As InternetExplorerMedium
Set objShell = CreateObject("Shell.Application")
IE_count = objShell.Windows.Count
For x = 0 To (IE_count - 1)
On Error Resume Next
my_url = objShell.Windows(x).Document.Location
my_title = objShell.Windows(x).Document.Title
If InStr(my_title, target) > 0 Then
Set FindIEObject = objShell.Windows(x)
Set myIE = objShell.Windows(x)
Exit For
End If
Next
End Function
此代码在我的计算机上运行良好,但是当我在客户端的 Citrix 环境中部署该工具时,我在第 3 行收到错误“ActiveX 组件无法创建对象”
我在谷歌和基础上做了一些研究,在 Citrix 管理员的帮助下 - 技术支持人员将 windows/system32 文件夹中的 shell32.dll 文件替换为新的副本并重新注册。
完成此操作后,我希望代码运行良好,但我仍然收到相同的运行时错误 429“ActiveX 组件无法创建对象”。
请如果有人可以帮助我了解需要做什么才能使代码正常工作。提前致谢。
普雷曼舒