使用VBA获取选择元素中的选择选项文本

时间:2013-08-05 19:03:16

标签: html vba dom excel-vba excel

以下

<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

要发布调用的代码很多,但该函数肯定会传递给选择对象。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

如果selectedIndex为-1 ...

,则您的函数不会退出
Function getSelectionText(SelectionObject)

If SelectionObject.selectedIndex = -1 Then 
    getSelectionText = ""
Else
    getSelectionText = SelectionObject.Options(SelectionObject.selectedIndex).Text
End If

End Function