如何使用 office-js 在任务窗格 [加载项] 中列出所有工作簿表?

How do I list all workbook sheets in task pane [add-in] with office-js?

我想在任务窗格中列出工作簿的所有工作sheet。这是一个 office-js 插件。最终我试图创建一个 table 的内容,其中列出了工作 sheet s(稍后可能会添加范围名称),并允许用户单击 sheet 并被带到那里.我对 VBA 非常满意,但不知道如何使用 Office 加载项来解决这个问题。经过几天的网络搜索,我希望能在这里找到帮助。我意识到这是一个相当广泛的问题,但我们将不胜感激任何帮助。

目前我正在使用 yeoman 生成器创建我的项目,该项目使用带有 Typescript 的 React 框架(我是新手,但正在快速学习),并使用 VSCode.[=10 进行编辑=]

基本上,我认为您想要做的是获取对 Workbook.worksheets 属性 的引用。加载 name 属性 并调用 context.sync。同步后,遍历 worksheets.items 属性 并将每个的名称 属性 添加为任务窗格页面中父 <ul> 父级中的 <li> 元素.类似于以下内容,但将 console.log 替换为添加 <ul><li> 的代码。

Excel.run(function (context) { 
    var worksheets = context.workbook.worksheets;
    worksheets.load('name');
    return context.sync()
    .then(function() {
        for (var i = 0; i < worksheets.items.length; i++)
        {
            console.log(worksheets.items[i].name);
        }
    });
})

Zack,看看这个 SO 问题,了解如何将项目添加到 HTML 列表元素:How to add <li> in an existing <ul>? using JQuery. You can try this in Script Lab (http://aka.ms/scriptlab)。