「東雲 忠太郎」の平凡な日常のできごと

「東雲 忠太郎」の平凡な日常のできごと

2023.12.26
XML
カテゴリ: カテゴリ未分類


OfficeScriptは、非同期処理が一般的であり、Promiseを使用して結果を取得します。OfficeScript内で処理結果を戻り値として受け取るには、Promiseを返す関数を使用する必要があります。


以下は、OfficeScriptで非同期処理を含む関数を定義し、その処理の結果をPromiseで返す例です。



 * OfficeScriptで非同期処理を含む関数

 * @param {string} cellAddress - 処理を適用するセルのアドレス

 * @param {string} formula - 適用する数式

 * @returns {Promise} - 処理の結果を含むPromise

 */

async function applyFormulaToCell(cellAddress, formula) {

    return new Promise(async (resolve, reject) => {

        try {

            await Excel.run(async (context) => {

                let workbook = context.workbook;

                let activeSheet = workbook.worksheets.getActiveWorksheet();

                activeSheet.getRange(cellAddress).formulas = [[formula]];

                await context.sync();

                resolve("Formula applied successfully.");

            });

        } catch (error) {

            reject(`Error applying formula: ${error.message}`);

        }

    });

}


// 使用例

const targetCellAddress = "A1";

const targetFormula = "=SUM(B1:C1)";


applyFormulaToCell(targetCellAddress, targetFormula)

    .then(result => {

        console.log(result); // 成功時のメッセージ

    })

    .catch(error => {

        console.error(error); // エラー時のメッセージ

    });

この例では、applyFormulaToCell関数がOfficeScript内で非同期処理を含み、処理結果をPromiseで返しています。Excel.runを使用してExcelオブジェクトモデルにアクセスし、数式を指定されたセルに適用しています。成功時にはresolveで結果を返し、エラー時にはrejectでエラーメッセージを返しています。


この関数を使用する際には、Promiseのthenおよびcatchメソッドを使用して、成功時とエラー時の処理を指定します。





お気に入りの記事を「いいね!」で応援しよう

Last updated  2023.12.26 22:26:46


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Mobilize your Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: