设置IE组合框的选项不起作用

时间:2018-03-26 05:35:46

标签: excel vba internet-explorer combobox

ComboBox属于弹出式IE格式。

当我想要添加记录时,IE页面有一个包含记录的表格,需要填写弹出窗体。这个表单有一些ComboBox,我无法查看其源代码,但可以确定ComboBox对象ID和名称。

我收到错误#438当我尝试使用

设置对象选项或值时,对象不支持此属性或方法
doc.getElementsByName("ObjNm")(0).

selectedIndex
ListIndex
Options(1).Text

我可以使用直接值

设置它
doc.getElementsByName("ObjNm")(0).value="Option1"

但是这不会被保存,因为它不是真正的ComboBox选项设置。

我可以使用selectedIndex为其他页面设置组合框,但在这里它不起作用。

任何想法如何解决这个问题?!

如果有办法我可以导航对象属性和方法。

感谢。

=======于4.8.2018添加

以下是我正在寻找如何vba选择的奇怪列表框表的html代码

<TABLE id=CTGridView_DXPEForm_editnew_2_ctComboBox_DDD_L_LBT style="WIDTH: 100%; BORDER-COLLAPSE: separate" cellSpacing=0 cellPadding=0 ListBoxId="CTGridView_DXPEForm_editnew_2_ctComboBox_DDD_L"><TBODY>
<TR class=dxeListBoxItemRow_Office2010Blue>
<TD id=CTGridView_DXPEForm_editnew_2_ctComboBox_DDD_L_LBI0T0 class=dxeListBoxItem_Office2010Blue>CH1</TD></TR>
<TR class=dxeListBoxItemRow_Office2010Blue>
<TD id=CTGridView_DXPEForm_editnew_2_ctComboBox_DDD_L_LBI1T0 class=dxeListBoxItem_Office2010Blue>CH2</TD></TR>
<TR class=dxeListBoxItemRow_Office2010Blue>
<TD id=CTGridView_DXPEForm_editnew_2_ctComboBox_DDD_L_LBI2T0 class=dxeListBoxItem_Office2010Blue>CH3</TD></TR>
<TR class=dxeListBoxItemRow_Office2010Blue>
<TD id=CTGridView_DXPEForm_editnew_2_ctComboBox_DDD_L_LBI3T0 class=dxeListBoxItem_Office2010Blue>CH4</TD></TR></TBODY></TABLE>

我在下面尝试但仍然得到错误对象并不支持此方法

Set FormInputField = doc.getElementById("CTGridView_DXPEForm_editnew_2_ctComboBox_DDD_L_LBT") 'tbl id
'Set FormInputField = doc.getElementById("CTGridView_DXPEForm_editnew_2_ctComboBox_DDD_L") 'list id
'FormInputField.ListIndex = 1
'FormInputField.selectedIndex = 1
'FormInputField = doc.getElementById("CTGridView_DXPEForm_editnew_2_ctComboBox_DDD_L_LBI0T0")
'FormInputField.Select

0 个答案:

没有答案