我正在创建一个项目,在办公室关闭后扫描文档。
在 Vba 和 Outlook 中我能够做到这一点,但我在 Excel Online 中陷入困境。
我正在使用 Office js,似乎没有任何事件,如果我使用“window.onbeforeunload”来检测选项卡何时关闭,但它不扫描。似乎没有足够的时间来扫描所有工作簿在通过选项卡关闭之前。
有没有办法在关闭之前运行代码并使Excel选项卡打开直到扫描打开。
window.onbeforeunload = function() {
Excel.run(async (context) => {
const sheets = context.workbook.worksheets;
sheets.load("items/name");
await context.sync();
let nonEmptyValues = [];
//Pushing datas in the excel to an array
for (let i = 0; i < sheets.items.length; i++) {
const sheet = sheets.items[i];
const range = sheet.getUsedRange();
range.load("text");
await context.sync();
range.text.forEach(row => {
row.forEach(cell => {
if (cell !== "") {
nonEmptyValues.push(cell);
}
});
});
}
//Scanning Excel datas in the server
ScanValuesInTheServer(nonEmptyValues);
}).catch(error => {
console.log(error);
});
Office JavaScript API (OfficeJS) 没有提供任何开箱即用的功能。您可以在技术社区上发布现有功能请求或对其进行投票,当 Office 开发团队完成规划流程时,这些请求会被考虑,请参阅 https://aka.ms/M365dev-suggestions .