首页 > 解决方案 > 如何使用 office-js 在任务窗格 [加载项] 中列出所有工作簿工作表?

问题描述

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

目前我正在使用 yeoman 生成器来创建我的项目,该项目使用带有 Typescript 的 React 框架(我对这两个框架都很陌生,但我学习很快),并使用 VSCode 进行编辑。

标签: exceloffice-jsadd-in

解决方案


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

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);
        }
    });
})

推荐阅读