以下
<select id="test">
<option value="1">Test One</option>
<option value="2">Test Two</option>
</select>
如何使用VBA获取所选选项的文本(即“Test One”或“Test Two”)?
这里要求JavaScript提出完全相同的问题:Retrieving the text of the selected <option> in <select> element
,给出的解决方案是
function getSelectedText(elementId) {
var elt = document.getElementById(elementId);
if (elt.selectedIndex == -1)
return null;
return elt.options[elt.selectedIndex].text;
}
var text = getSelectedText('test');
我在VBA中创建了以下版本,但是我在if语句中得到一个对象不支持此属性或方法错误。
Function getSelectionText(SelectionObject)
If SelectionObject.selectedIndex = -1 Then getSelectionText = ""
getSelectionText = SelectionObject.Options(selection.selectedIndex).Text
End Function
要发布调用的代码很多,但该函数肯定会传递给选择对象。
感谢您的帮助!
答案 0 :(得分:1)
如果selectedIndex为-1 ...
,则您的函数不会退出Function getSelectionText(SelectionObject)
If SelectionObject.selectedIndex = -1 Then
getSelectionText = ""
Else
getSelectionText = SelectionObject.Options(SelectionObject.selectedIndex).Text
End If
End Function