【问题标题】:Select dropdown item by vba. Cannot access Iframe.通过 vba 选择下拉项。无法访问 iframe。
【发布时间】:2017-02-12 18:45:17
【问题描述】:

我想通过 Excel 宏选择下拉项目。我无法通过标签名称“ddWareHouse”引用下拉元素,我得到错误。

我认为我非常接近附加代码。但是这次我得到错误运行时错误(70)。权限被拒绝

Sub test3()
Dim IE As New InternetExplorer
Dim html As HTMLDocument
Dim test As HTMLIFrame
Dim BaseURL As String
BaseURL="https://some_adress_which_I_cannot_display_because_because.aspx"
Set IE = New InternetExplorer
IE.Visible = True
IE.navigate BaseURL
Do While IE.readyState <> READYSTATE_COMPLETE
Application.StatusBar = "Webpage is loading please wait"
DoEvents
Loop
Set html = IE.document
Set test = html.getElementById("alexIFRAME")
IE.Navigate2 test.src
test.document.getElementById("ddWarehouse").Value = "Lund"
'HERE I GET PERMISSION DENIED ERROR 
End Sub

能否请您帮助我了解如何访问“ddWarehouse”下拉菜单。我附加了带有 html 代码的 .jpg 文件和另一个显示下拉菜单外观的 .jpg 文件。提前感谢您的支持和指导!!

HTML Code

【问题讨论】:

    标签: asp.net excel internet-explorer-8 browser-automation vba


    【解决方案1】:

    我不确定.document 是否可以在那里引用它。当你在那条线上尝试这样的事情时会发生什么, html.getElementById('alexIFRAME').contentWindow.document.getElementById('ddWarehouse').Value = "Lund"

    或者这个元素可能需要以不同的方式访问, html.getElementById('alexIFRAME').contentWindow.document.getElementById('ddWarehouse').FindByValue("Lund").Selected = true

    【讨论】:

    • 您的第一个解决方案解决了问题。我只需要将“Lund”更改为“LUN”,因为在 html 代码中它是这样声明的:
    猜你喜欢
    • 2020-05-05
    • 2019-05-28
    • 1970-01-01
    • 2020-01-10
    • 2020-02-27
    • 1970-01-01
    • 2018-12-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多