メインコンテンツまでスキップ

待機処理

オフィススクリプトを使用する際、外部のプロセスの影響を受けるようなプログラムを作った場合、特定の時間だけ処理を待機させたいケースもあるかと思います。

今回はオフィススクリプトを使って、指定した秒数分待機する処理を実装する方法を解説します。

非同期処理について

待機処理を実装するにあたって、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秒が経過しました');
}