如何保持打开closures工作簿(Office.js API for Excel)之间的工作表的设置?

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

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

但经过一番研究,我发现工作表标识符在重新打开工作簿后总是在变化,根据文档,这不是一个错误,这是一个function。

“重新打开后{040E0F18-0F61-4CD9-886D-95112C925793}”更改为“{00000000-0001-0000-0000-000000000000}”( 关于该问题 )

是否有办法保持打开closures工作簿之间的工作表的设置?

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

对于任何想要保存设置的工作表,首先为“WorksheetName!A1:XFD1048576”创build一个绑定。 你会得到一个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创build设置(或者一些映射告诉你Sheet1 = id AFD43243DDR3232,设置____)。

这有帮助吗?

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