如何在打开结束工作簿(Office.js API for Excel)之间保留工作表的设置?

时间:2016-06-16 08:52:25

标签: javascript excel office365 worksheet office-js

根据我question我发现以编程方式附加工作表设置的最佳方式是使用工作表标识符,因为工作表名称可以由用户更改。

Office.context.document.settings.set("{040E0F18-0F61-4CD9-886D-95112C925793}", JSON.stringify(myValues));

但经过一些研究后,我发现工作表标识符在重新打开工作簿后总是在变化,并且根据文档说明它不是错误,它是一个功能。

" {040E0F18-0F61-4CD9-886D-95112C925793}"改为" {00000000-0001-0000-0000-000000000000}"重新开放后(question about that

是否可以在打开结账工作簿之间保留工作表的设置?

1 个答案:

答案 0 :(得分:1)

我可以想到一个解决方法,不过我承认它并不是世界上最优雅的东西。

对于要保存设置的任何工作表,首先为" WorksheetName创建一个绑定!A1:XFD1048576"。您将获得一个ID,这次它是唯一的并且在文档中保留

Office.context.document.bindings.addFromNamedItemAsync("WorksheetName!A1:XFD1048576", "matrix", function (result) {
    if (result.status == 'succeeded'){
        console.log('Added new binding with ID: ' + result.value.id);
    }
    else {
        console.log('Error: ' + result.error.message);
    }
});

现在根据该ID创建设置(或某些映射告诉您Sheet1 = id AFD43243DDR3232,设置为____)。

这有帮助吗?

~Michael Zlatkovsky,Office Extensibility团队的开发人员,MSFT