なんかすでにありそう。
トリガーを使えば、フォーム投稿時やcron的に時間指定で以下のスクリプトが実行できて便利ですね。
例えば以下のようなシートがあって、直編集やフォームで入力したものがあったとする。
function myFunction() {
var sheet = SpreadsheetApp.getActiveSheet(); // 現在のシートを取得
var data = sheet.getDataRange().getValues(); // 全セルデータを2次元配列で取得
for (var i = 0 ; i < data.length; i++) {
// 送信済みでない場合は送信
if (data[i][3] === '') {
data[i][3] = '済' // 送信したら済にする
MailApp.sendEmail("hoge@example.com", data[i][1], data[i][2]); // 送信
sheet.getDataRange().setValues(data); // 「済」をシートに反映して、2回以上送られないようにする
break;
}
}
}
送信されていない件名/本文のみ投稿される。
便利そう。
フォームの作成方法や、トリガーの使い方、そもそものGASの使い方はggrks。