在网页上,使用Excel宏更改下拉框的值/直接调用javascript命令

On a webpage, Change the value of a dropdown box / call a javascript command directly, with an Excel Macro

本文关键字:命令 javascript 调用 网页 使用 Excel      更新时间:2023-09-26

我正在编写一系列Excel宏来自动化与Agilix Sandbox的交互,http://gls.agilix.com/CallMethod.aspx我需要将方法框从GET更改为POST,这是我迄今为止的代码:

`Const strURL_c As String = "http://gls.agilix.com/CallMethod.aspx"
'Attach domain to the command query
    Dim strUsr_c As String
    Dim i As Integer
'Set up IE variables for use
    Dim objIE As SHDocVw.InternetExplorer
    Dim ieDoc As MSHTML.HTMLDocument
    Dim ddbTypCmd As MSHTML.HTMLInputElement
    Dim tbxUsrFld As MSHTML.HTMLInputElement
    Dim btnSubmit As MSHTML.HTMLInputElement
    Dim tbxDtaFld As MSHTML.HTMLInputElement
    On Error GoTo Err_Hnd
'Create Internet Explorer Object
    Set objIE = New SHDocVw.InternetExplorer
'Navigate to URL
    objIE.Navigate strURL_c
'Wait for page to load
    Do Until objIE.ReadyState = READYSTATE_COMPLETE: Loop
'Get the webpage
    Set ieDoc = objIE.Document
'Get input field and submit button.
    Set tbxUsrFld = ieDoc.all.Item("Post")
    Set btnSubmit = ieDoc.all.Item("Send")
    Set ddbTypCmd = ieDoc.all.Item("Verb")
'Fill Field
    strUsr_c = Range("A1").Value
    doc.getElementById("Verb").value = "POST"
    Call loadXMLDoc("POST", "Dlap.ashx", "text/xml; charset=utf-8", strUsr_c, "*/*")`

最后两行展示了我两次不同的尝试来创造想要的效果。最后一行是我尝试直接调用javascript命令,但失败了。

以下是网页相关部分的HTML:我想调用的javascript:

`函数loadXMLDoc(谓词、url、contentType、post、accept){xmlhttp=null;

// code for Mozilla, etc.
if (window.XMLHttpRequest)
{
    xmlhttp=new XMLHttpRequest()
}
// code for IE
else if (window.ActiveXObject)
{
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
}
if (xmlhttp!=null)
{
    xmlhttp.onreadystatechange = onResponse;
    xmlhttp.open(verb,url,true);
    xmlhttp.setRequestHeader("Accept", accept);
    if (verb == "GET")
    {
        xmlhttp.send(null);
    }
    else
    {
        xmlhttp.setRequestHeader("Content-Type", contentType);
        xmlhttp.send(post);
    }
}
else
{
    alert("Your browser does not support XMLHTTP.")
}

}`我想更改的下拉框:

<select name="Verb" id="Verb" size="1"> <option value="GET" selected="selected">GET</option> <option value="POST">POST</option> </select>

将非常感谢您提供的任何见解

我已经看过:使用excel vba更改网站下拉菜单的值使用VBA Excel通过更改下拉值来导航网站

好吧,我找到了一个真正适用于更改下拉框的答案。

Dim methodFld As MSHTML.HTMLSelectElement
Set methodFld = ieDoc.getElementById("Verb")
methodFld.Value = "POST"