1

在下面的

<select id="test">
 <option value="1">Test One</option>
 <option value="2">Test Two</option>
</select>

如何使用 VBA 获取所选选项的文本(即“测试一”或“测试二”)?

这里对 JavaScript 提出了完全相同的问题:Retrieving the text of 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

发布调用的代码很多,但该函数肯定是被传递了一个选择对象。

谢谢你的帮助!

4

1 回答 1

1

如果 selectedIndex 为 -1,您的函数不会退出...

Function getSelectionText(SelectionObject)

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

End Function
于 2013-08-05T19:15:59.333 回答