Excel VBA更改表单中的下拉菜单

时间:2016-05-23 12:03:07

标签: excel vba excel-vba internet-explorer-11

我尝试了一些替代方案,但没有成功,更改组合框你可以找到下面的网站代码(看起来问题是组合框在一个表单内 - 我无法将输入框更改为好):   

<form action="procRelLmPorData.asp" method="post" target="ifrmGerar" id="frmGerar" name="frmGerar">
<input type="hidden" name="ordem" id="ordem" value="" />

<table style="width:100%;" cellpadding="0" cellspacing="0">
<tr>
<th class="header">Licenças Médicas por Data</th>
</tr>
</table>
<table style="border-bottom:#048282 thin solid;width:100%;">    
<tr>
<td style="width:20%;vertical-align:top;">
<table>
 <tr>
  <td>Regional: </td>
  <td>
   <select style="width:200px" name="regional" id="regional" onchange="comboFilial(this.value);comboSetor('');">
    <option value="">Selecione</option>
     <option value='67'>RJ</option>
    </select>

我已尝试使用以下代码解决问题:

假设objie = InternetExplorer.Application

第一 - objie.Document.forms("frmGerar").getElementsByTagName("select")("regional").Value = 67

第二名 - objie.Document.forms("frmGerar").Item("regional").Value = 67

第3名 - objie.Document.getElementById("regional").selectedindex= 2

你能算出问题是什么吗?

修改

我发现表单在IFrame中,您可以找到以下代码:

<iframe name="ifrmCentro" id="ifrmCentro" src="mapPath.asp?codMenu=404" frameborder="0" style="border: 0px currentColor; border-image: none; width: 100%; height: 177px; display: block;"></iframe>

1 个答案:

答案 0 :(得分:0)

我做到了。

问题是iFrame,我不得不浏览。

.Navigate Website & "mapPath.asp?codMenu=404"

Do While .Busy Or .ReadyState <> 4
DoEvents
Loop

之后,我可以填充框并选择组合框:

.Document.all("datInicial").Value = Range("A6").Text
.Document.all("datFinal").Value = Range("A7").Text
.Document.all("regional").Value = 67

谢谢!