OfficeJS(Excel):不显示工作表

时间:2018-08-13 19:06:20

标签: office-js

我有一个工作表,其中定义了一个命名范围(“ 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组可供讨论?

1 个答案:

答案 0 :(得分:2)

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

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

如果转到“公式”功能区下的“名称管理器”,您将看到一个对话框,如下面的屏幕快照,您可以在其中检查命名范围的范围。

Name Manager

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

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

Script Lab Gist

要使用它,请从Office加载项商店安装“脚本实验室”,然后import安装此gist