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

时间:2019-06-03 23:17:46

标签: excel office-js add-in

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

目前,我正在使用yeoman生成器来创建我的项目,该项目将React框架与Typescript结合使用(我是两者的新手,但学习很快),并使用VSCode进行编辑。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

Zack,请看以下SO问题,了解如何使用JQuery将项目添加到HTML列表元素:How to add <li> in an existing <ul>?。您可以在脚本实验室(http://aka.ms/scriptlab)中进行尝试。