Return Excel 选择中的对象类型

Return Excel object type in selection

在 VBA 中,如果我使用 TypeName(Selection),我可以看到当前 select 的对象类型:我得到 RangeShapeChartArea,等等

据我所知,在 JS 中没有 Selection 对象,因此我无法验证用户是否在工作表中创建了正确的 selection。目前,我只是坚持使用一个通用错误处理程序,如果用户在我的脚本运行 workbook.getSelectedRange().

时没有 select 一个范围,该处理程序将会失败

如何检测工作表中当前select编辑的类型?


编辑:这是我正在使用的代码。

function btnApply_Click() {
    Excel.run(function (context) {

        var rangeSelection;

        return context.sync()
        .then(function () {
            rangeSelection = context.workbook.getSelectedRange();
            rangeSelection.load("values");
            return context.sync().catch(function (error) {
                throw new u.error.exclamation("The selection must be a cell.");
            });
        })
        .then(function () {
            var values = rangeSelection.values;
            convertSelection(values);
            rangeSelection.values = values;

            return context.sync();
        })
    })
    .catch(function (error) { u.error.show(error); });
}

您可以将回调参数传递给 getSelectedDataAsync 方法。 Office 将向此回调传递一个 AsyncResult 对象。在回调中,AsyncResult.value.type 是对象的类型。