根据我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)
是否可以在打开结账工作簿之间保留工作表的设置?
答案 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