私のカスタム関数の結果として、関数が呼び出されたセルをベースセルとして、いくつかのワークシートセルを埋めたいと思います。1 つのセルに収まらない複雑なデータを返す必要があります。
質問は、カスタム関数内で Excel.run() を使用する方法はありますか? または、より複雑なデータ (オブジェクト、オブジェクトの配列) をカスタム関数の戻り値として返す方法はありますか?
これは私がやろうとしていることの簡単な例ですが、うまくいきません:
/**
* Adds two numbers.
* @customfunction
* @param first First number
* @param second Second number
* @returns The sum of the two numbers.
*/
async function add(first: number, second: number): Promise<void> {
return Excel.run(async context => {
const worksheet = context.workbook.worksheets.getActiveWorksheet();
const range = worksheet.getRangeByIndexes(0, 0, 1, 4);
range.values = [[1, 2, 3, 4]];
return context.sync();
})
}
CustomFunctions.associate("ADD", add);