【问题标题】:OfficeJS (Excel): not showing NamedItem that exists in sheetOfficeJS(Excel):不显示工作表中存在的 NamedItem
【发布时间】:2018-08-13 19:06:19
【问题描述】:

我有一张表,其中定义了一个命名范围(“my_range”)。我想枚举给定工作表中的命名范围,并且我有以下代码:

async function run() {
    await Excel.run(async (ctx) => {
        const sheet = ctx.workbook.worksheets.getItem("Sheet1")
        sheet.load([ "name", "names" ])
        await ctx.sync()
        console.log(sheet.toJSON())
    });
}

令人惊讶的是,这会打印出如下内容:

{"id": "...", "name": "Sheet1", "names": []}

我希望数组中至少有一项,代表我的命名范围。有人知道为什么这似乎不起作用吗?

在不相关的说明中,是否有一个 OfficeJS Slack/Discourse 小组供讨论?

【问题讨论】:

    标签: office-js


    【解决方案1】:

    Worksheet.names API 只返回工作表范围内的命名范围。

    要在工作表范围内创建命名范围,请使用Sheet1!my_range 而不是my_range 创建它。

    如果您转到“公式”功能区下的“名称管理器”,您会看到如下图所示的对话框,您可以在那里查看命名范围的范围。

    ================================================ ========================

    您似乎无法在 Excel for Mac 上查看范围。所以我创建了一个非常简单的要点来帮助 Mac 用户。下面是截图。

    要使用它,请从 Office 插件商店安装“脚本实验室”,并import 这个gist

    【讨论】:

    • 太棒了,成功了。但是,在 Excel for Mac 下,有没有办法查看已定义名称的范围?
    • Excel for Mac 似乎缺少此功能。但是在 Office 插件的帮助下,您可以自己扩展 Excel :) 我创建了一个简单的要点,请检查我编辑的答案。
    • 哈,不错!你的 UI 看起来比 Native Excel 更好
    猜你喜欢
    • 2013-01-19
    • 1970-01-01
    • 2013-03-10
    • 1970-01-01
    • 1970-01-01
    • 2011-03-31
    • 1970-01-01
    • 2016-12-28
    • 1970-01-01
    相关资源
    最近更新 更多