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