Я создаю пользовательскую функцию в Excel JS, с которой я хочу использовать другие функции Office.js. Я пытаюсь инициализировать Office.js в пользовательской функции следующим образом:
async function getData(indicator, date, handler) {
await Office.onReady();
if (date !== "earliest" && date !== "latest" && !date.includes("-")) {
const newDate = new Date((parseFloat(date) - (25567 + 2))*86400*1000); // Converts Excel date, days since 1900, to YYYY-MM-DD as per https://gist.github.com/christopherscott/2782634
date = formatDate(newDate)
}
dd_value = new DDValue("A1", indicator, date)
console.log(dd_value)
try {
await Excel.run(function (context) {
var range = context.workbook.getSelectedRange();
range.load("address");
return context.sync()
.then(function () {
console.log(`The address of the selected range is "${range.address}"`);
});
}).catch(errorHandlerFunction);
} catch(error) {
console.log("ERROR")
console.log(error)
}
}
Однако я получаю следующие ошибки:
Uncaught TypeError: Cannot redefine property: context
Uncaught Error: Office.js has not fully loaded. Your app must call "Office.onReady()" as part of it's loading sequence (or set the "Office.initialize" function). If your app has this functionality, try reloading this page.
Я также пытался инициализировать Office.js на странице index.html (просто скрипт в заголовке), но это тоже не сработало.
Кто-нибудь пытался реализовать другие функции Office.js в пользовательских функциях? Как у вас работала инициализация Office.js?
Заранее спасибо