gpt4 book ai didi

javascript - 使用 Excel VBA 在 JavaScript web 中选择 onchange 值

转载 作者:行者123 更新时间:2023-11-29 14:48:13 25 4
gpt4 key购买 nike

我是 VBA 的新手,我曾多次尝试使用 Excel VBA 选择网站上的值,但它不起作用。下面是我使用的代码。

实际上我不知道如何获取元素,因为它没有“id”或“name”标签。

Sub GetFinanceData()

Dim URL As String

URL = "http://stock.finance.sina.com.cn/hkstock/finance/00001.html"

Set myIE = CreateObject("InternetExplorer.Application")

With myIE
.navigate URL
.Visible = True

Do While .Busy = True Or .readyState <> 4
Loop
DoEvents

.Document.parentWindow.execScript "selectData(zero);", "JavaScript"

End With

End Sub

下面是 HTML 代码,我想在打开网站时将选项值更改为“零”,有人可以帮忙检查并建议我可以使用什么 VBA 代码来获得值“零”吗?非常感谢!

enter image description here

	<a name="a1" id="a1"></a>
<div class="part02">
<div class="sub01">
<div class="sub01_tt fblue">
<span class=" selected"><a href="#a1" target="_self">重要财务指标</a></span>
<span class=""><a href="#a2" target="_self">资产负债表</a></span>
<span class=""><a href="#a3" target="_self">现金流量表</a></span>
<span class=""><a href="#a4" target="_self">综合损益表</a></span>
<em class="rt">报表类型:<select class="fgrey" style="width:100px;" interface="getFinanceStandardForjs?symbol=$symbol&financeStanderd=" table="tableGetFinanceStandard" onchange="selectData(this);">
<option value="all" >全部</option>
<option value="zero" >年报</option>
<option value="1" >中报</option>
<option value="2" >一季报</option>
<option value="3" >三季报</option>
</select></em>
</div>
<div class="sub01_cc">
<div class="sub01_c">
<table cellspacing="0" cellpadding="0" border="0" class="tab05">
<tbody id="tableGetFinanceStandard">
<tr>

最佳答案

确实,有时通过 HTML nameid 来寻址表单元素是有利的,但在您的示例中,您可以使用 getElementsByTagName() 解决 select 标签的方法,即使它们没有名称或 ID。

下面的代码会将所有 select 下拉菜单设置为“零”。我进行了简短的测试,效果很好。

Sub GetFinanceData()
Dim URL As String
URL = "http://stock.finance.sina.com.cn/hkstock/finance/00001.html"

Set myIE = CreateObject("InternetExplorer.Application")
With myIE
.navigate URL
.Visible = True

Do While .Busy = True Or .readyState <> 4
Loop
DoEvents

Set selectItems = myIE.document.getElementsByTagName("select")
For Each i In selectItems
i.Value = "zero"
i.FireEvent ("onchange")
Next i
End With
End Sub

关于javascript - 使用 Excel VBA 在 JavaScript web 中选择 onchange 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29864800/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com