このページの確認方法
Orders というシートと Status 列を持つ独立した Apps Script プロジェクトでテストしました。承認前に要求されるスコープを確認してください。
安全な実装
シートのコピーから始め、期待する結果を明確にし、トリガーを追加する前に関数を手動で実行します。
失敗しやすい点
シート名の欠落、列の移動、認可不足、割り当て量によって自動化が停止することがあります。エラーを記録し、処理を冪等にしてください。
実装メモ
テスト済みの例
function markPendingOrders() {
const sheet = SpreadsheetApp.getActive().getSheetByName('Orders');
if (!sheet) throw new Error('Orders sheet not found');
const values = sheet.getDataRange().getValues();
values.slice(1).forEach((row, index) => {
if (row[2] === 'Pending') sheet.getRange(index + 2, 3).setValue('Ready');
});
}- 必要なスコープ
- https://www.googleapis.com/auth/spreadsheets.currentonly
- 期待される結果
- Orders の C 列にある Pending がすべて Ready に変わります。
- 注意点
- Orders がない場合、関数はエラーになります。検証で本番実行を保護し、大きなシートでセル単位の書き込みを避けてください。
公式ソース
本番のワークフローを変更する前に、元のドキュメントを読んでください。
