在 URL 中使用 VBA 激活 Onchange 函数
Activate Onchange function with VBA in URL
我必须使用 excel 在网站内填写表格。
该网站是这样工作的——当从组合框中选择一些东西时,新的输入框会被 onchange 函数激活,如下代码所示。
<select name="murat" id="murat" class="normalText" onchange="muratonChange(this);">
function muratonChange(source) {
var muratIndex, Visibility;
muratIndex=source.selectedIndex
document.all.ayaz.style.visibility="visible";
我可以 select 组合框中的任何内容。但是,输入框不可见,所以我无法更改它们。
使用以下 vba 代码将值分配给组合框
While .Busy Or .readyState < 4: DoEvents: Wend
Do
DoEvents
On Error Resume Next
Set ele = ie.document.querySelector("murat")
On Error GoTo 0
If Timer - t > MAX_WAIT_SEC Then Exit Do
Loop While ele Is Nothing
If Not ele Is Nothing Then
ele.Click
ie.document.getElementsByName("murat")(0).Value = Application.VLookup(Sheets("fener").Range("D3").Text, Sheets("bahce").Range("A:B"), 2, False)
End If
首先请发表评论和帮助,而不是修改我的英语语法来获得徽章等。
感谢用户@QHarr。我跟着他的脚步。下面的代码解决了我的问题。
Dim CurrentWindow As HTMLWindowProxy: Set CurrentWindow = ie.document.parentWindow
Call CurrentWindow.execScript("muratonChange(this)")
我必须使用 excel 在网站内填写表格。 该网站是这样工作的——当从组合框中选择一些东西时,新的输入框会被 onchange 函数激活,如下代码所示。
<select name="murat" id="murat" class="normalText" onchange="muratonChange(this);">
function muratonChange(source) {
var muratIndex, Visibility;
muratIndex=source.selectedIndex
document.all.ayaz.style.visibility="visible";
我可以 select 组合框中的任何内容。但是,输入框不可见,所以我无法更改它们。 使用以下 vba 代码将值分配给组合框
While .Busy Or .readyState < 4: DoEvents: Wend
Do
DoEvents
On Error Resume Next
Set ele = ie.document.querySelector("murat")
On Error GoTo 0
If Timer - t > MAX_WAIT_SEC Then Exit Do
Loop While ele Is Nothing
If Not ele Is Nothing Then
ele.Click
ie.document.getElementsByName("murat")(0).Value = Application.VLookup(Sheets("fener").Range("D3").Text, Sheets("bahce").Range("A:B"), 2, False)
End If
首先请发表评论和帮助,而不是修改我的英语语法来获得徽章等。 感谢用户@QHarr。我跟着他的脚步。下面的代码解决了我的问题。
Dim CurrentWindow As HTMLWindowProxy: Set CurrentWindow = ie.document.parentWindow
Call CurrentWindow.execScript("muratonChange(this)")