背景:我正在使用OfficeJS库开发一个excel外接程序.加载项使用的是ReactJS组件和Office Fabric UI。成功创建了外接程序,并且使用OfficeJS库我们可以将用户选择带到Excel表中。
问题:问题问题是,我想让事件在OfficeJS中使用保存工作表,即一旦用户单击“保存”,就会出现“保存对话”框(根据“本地Excel”的行为),并在此上调用业务规则(一些功能)。为了做到这一点,我想在OfficeJS中使用相同的保存事件,这应该是自动触发的。
代码示例:
Office.initialize = () => {
Excel.run(function (context) {
var sheet = context.workbook.worksheets.getItem("Sheet1");
context.workbook.load(["save"]);
context.sync().then(() => {
context.workbook.save(Excel.SaveBehavior.prompt);
//OR
context.workbook.save(Excel.SaveBehavior.save);
});
}).catch(function(error) {
console.log(error.debugInfo);
});
}Research:,我尝试过的上述两个函数来自于Microsoft文档,其中提到了以下两个函数:
Workbook.save将工作簿保存到持久存储中。保存方法接受一个可选的saveBehavior参数,该参数可以是以下值之一: Excel.SaveBehavior.save (默认):保存文件时不提示用户指定文件名和保存位置。如果以前没有保存该文件,则将其保存到默认位置。如果以前保存了该文件,则将其保存到相同的位置。Excel.SaveBehavior.prompt:如果以前没有保存文件,将提示用户指定文件名和保存位置。如果文件以前已经保存过,那么它将被保存到相同的位置,并且不会提示用户。
系统配置:I正在使用Windows10、Excel2016桌面和Office365在线版本。我使用IE-10和Google作为Excel的在线版本.此外,我还使用Windows7和Excel-2016以及相同的浏览器进行了相同的检查。
请让我知道上面的功能是否可以实现?
发布于 2020-05-28 14:00:10
不幸的是,Office目前不支持onSaved事件。原因之一是Excel具有自动保存功能,它经常触发保存操作。因此,我们担心提供onSaved事件可能会向客户发送太多的事件通知。
但是我建议你可以提交这个请求并在用户之声上投票
https://stackoverflow.com/questions/62066379
复制相似问题