Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 如何在Internet Explorer元素上输入数字?_Vba_Excel - Fatal编程技术网

Vba 如何在Internet Explorer元素上输入数字?

Vba 如何在Internet Explorer元素上输入数字?,vba,excel,Vba,Excel,我试图从Excel VBA在IE元素(输入)上输入一个数字 我不是一个HTML开发人员,但是有一些框架代码可能会影响我的问题 这是我在VBA中的内容: IE.Navigate "http://thisandthat/herewego.asp" IE.Document.getElementsbyId("txt_cod_re_rh").Value = "aaaa" 什么也没发生 我还尝试获取元素ID或测试VBA是否

我试图从Excel VBA在IE元素(输入)上输入一个数字

我不是一个HTML开发人员,但是有一些框架代码可能会影响我的问题

这是我在VBA中的内容:

IE.Navigate "http://thisandthat/herewego.asp"
           
IE.Document.getElementsbyId("txt_cod_re_rh").Value = "aaaa"
什么也没发生

我还尝试获取元素ID或测试VBA是否可以看到它,但看起来VBA在页面上找不到它(尝试ID和类):

这是我的HTML:

<SCRIPT LANGUAGE="VBS">
smthing
</SCRIPT>
<HTML>
    <HEAD>
        
        
    <link href="../css/standard.css" rel="stylesheet" type="text/css">
    <script language="JavaScript" src="include/scripts.js"></script>
    <script language="JavaScript">
        function exibeRelatorierer(server) {

            d = window.document.frmFilter;

            var cod_VP = d.cbo_VP;
            var cod_periodo = d.cbo_Periodoerer;
            var cod_re_rh = d.txt_cod_re_rh;

            if (cod_re_rh.value == '') {
                cod_re_rh.value = "0";
            }

            if (cod_periodo.value == -1) {
                alert("Select smthing.");
            }else{
                if (d.TC[0].checked) {
                    parent.frames['frmMain'].location = servidor234234 + "RPT_CPR01884_TS" + "&rc:Area=Toolbar&rc:LinkTarget=frmMain&rc:JavaScript=True&rs:ClearSession=true&rc:Parameters=false" + "&COD_VP=" + cod_VP.value + "&COD_PERIODO=" + cod_periodo.value + "&COD_RE_RH=" + cod_re_rh.value
                } else {
                    parent.frames['frmMain'].location = servidor234234 + "RPT_CPR01884_CP" + "&rc:Area=Toolbar&rc:LinkTarget=frmMain&rc:JavaScript=True&rs:ClearSession=true&rc:Parameters=false" + "&COD_VP=" + cod_VP.value + "&COD_PERIODO=" + cod_periodo.value + "&COD_RE_RH=" + cod_re_rh.value
                }

小道消息
功能ExiberLatorier(服务器){
d=window.document.frmFilter;
var cod_VP=d.cbo_VP;
var cod_periodo=d.cbo_Periodoerer;
var cod_re_rh=d.txt_cod_re_rh;
如果(化学需氧量相对湿度值=“”){
cod_re_rh.value=“0”;
}
如果(cod_periodo.value==-1){
警报(“选择短信”);
}否则{
如果(d.TC[0]。已选中){
parent.frames['frmMain'].location=servidor234234+“RPT_CPR01884_TS”+“&rc:Area=Toolbar&rc:LinkTarget=frmMain&rc:JavaScript=True&rs:ClearSession=True&rc:Parameters=false”+“+COD_-VP.value+”&COD_-PERIODO=“+COD_-PERIODO.value+”&COD_-RE-RH=“+COD_-RE-RH.value”
}否则{
parent.frames['frmMain'].location=servidor234234+“RPT_CPR01884_CP”+“&rc:Area=Toolbar&rc:LinkTarget=frmMain&rc:JavaScript=True&rs:ClearSession=True&rc:Parameters=false”+“+COD_VP.value+”&COD_PERIODO=“+COD_PERIODO.value+”&COD_RE_-RH=“+COD_-RH.value”
}
我相信上面的代码在尝试向txt_cod_re_rh插入值时把我搞砸了。
我读了一些关于一个框架的东西?这个元素在另一个框架上吗?(真的不知道。)

这是输入框所在的代码:

<form id="Form1" name="frmFiltro">
            <table border="0" width="100%" cellpadding="0" cellspacing="0">
                <tr class="table_bhoras1" height="50" align="center">
                     <td>Extração</td>
                 </tr>
            </table>
            <table id="Table3" cellSpacing="0" cellPadding="0" width="100%" border="0" class="titsemlink2">
                    <TR class="titsemlink2">
                        <td>
                            Inform number: 
                        </td>
                        <td>
                            <input class="select_st" type="text" name="txt_cod_re_rh" id="txt_cod_re_rh" value="" />
                        </td>
                    </TR>

额外的
通知号码:

您的代码中有输入错误。VBA中的
InternetExplorer
文档对象中不存在方法
.getElementsbyId
getElementByclass

您可以通过元素
id
尝试此操作:

Set element = IE.Document.getElementById("txt_cod_re_rh")
element.value = "aaaa"
或通过
classname

Set element = IE.Document.getElementsByClassName("select_st")(0)
element.value = "aaaa"

没有你,完整的html很难判断它是否在
iframe
中。

IE.Document.getElementsbyId(“txt\u cod\u re\u rh”)。Value=“aaaa”
将不起作用。首先,你需要获取输入所在的框架。读取
Set element = IE.Document.getElementsByClassName("select_st")(0)
element.value = "aaaa"