Skip to main content

待機処理

เมื่อใช้สคริปต์ของออฟฟิศ อาจมีกระบวนการภายนอกที่มีผลต่อโปรแกรมที่สร้างขึ้น บางกรณีอาจต้องรอการประมวลผลเป็นเวลาหนึ่งช่วงเวลาเท่านั้น

ในครั้งนี้ เราจะอธิบายวิธีการใช้สคริปต์ของออฟฟิศเพื่อสร้างการรอเวลาเป็นเวลาที่กำหนดไว้

非同期処理について

待機処理を実装するにあたって、async/awaitを用いた非同期関数を使用します。

非同期関数の詳細については、以下のページをご覧ください。

指定した秒数待機する関数を定義する

指定した秒数が経過後に結果を得られるPromiseオブジェクトを返す関数を定義します。

指定した秒数待機する関数
/**
* @param ms 待機する時間(ミリ秒)
*/
function wait(ms: number) {
return new Promise<void>((resolve) => setTimeout(() => resolve(), ms));
}

サンプルコード

async/awaitを使って、前述した待機関数を呼び出します。

一定時間待機後に処理を続行するサンプル
async function main(workbook: ExcelScript.Workbook) {
console.log('処理が開始されました');

await wait(1000);

console.log('1秒が経過しました');
}