このチュートリアルでは、Googleドライブに保存されているExcelファイルのデータから自動的にメールを送信するシステムを作成します。GoogleAppsScriptを使用してExcelファイルからデータを読み取り、そのファイルの内容に基づいて電子メールを送信します。また、システムはCrontabを使用してスケジュールされ、電子メールを自動的に送信し、電子メールの配信時間を更新します。
ステップ1: Googleドライブ上にExcelファイルを作成する
Googleアカウントにログインします。
Googleドライブに移動します。
/>[作成]ボタンをクリックし、[Googleスプレッドシート]を選択して、新しいExcelファイルを作成します。
新しいExcelファイルを開いてデータを入力します。各行がレコードを表し、各列がデータフィールドを表すことを確認してください。
Excelファイルにデータを入力する
注: 行2には「更新時刻」という時間があり、電子メールがすでに送信されていることを意味します。crontabが定期的に実行されると、送信されたメールは無視されます。
ステップ2:GoogleAppsScriptでスクリプトアプリケーションを作成する
Googleスプレッドシートで、[ツール]>[AppScripts]を選択して、スクリプトエディタを開きます。
新しいスクリプトエディターでは、Excelファイルからデータを読み取り、電子メールを送信するコードの作成を開始できます。
例:
function sendEmails() {
// Lấy dữ liệu từ spreadsheet
var sheet = SpreadsheetApp.getActiveSheet();
var dataRange = sheet.getDataRange();
var data = dataRange.getValues();
Logger.log(data);
// Duyệt qua từng hàng dữ liệu
for (var i = 1; i < data.length; i++) {
var row = data[i];
var email = row[0];
var name = row[1];
var subject = row[2];
var content = row[3];
var updatedAt = row[4];
Logger.log(updatedAt);
if (updatedAt == '') {
Logger.log(111);
// Get timestamp for the current row
var rowTimestamp = new Date(); // Or use a custom timestamp calculation if needed
Logger.log(rowTimestamp.toString());
// Send email using rowTimestamp
var body = "Kính gửi " + name + ",\n\n" + content;
MailApp.sendEmail(email, subject, body);
// Update send email time for the current row
var timestampCell = sheet.getRange(i + 1, 5); // Assuming timestamps are in column 1 is col A. 5 is E
Logger.log(timestampCell);
timestampCell.setValue(rowTimestamp.toString());
}
}
}
スクリプトを保存し、名前を付けます。
テストを実行して、コードが正常に動作するかどうかを確認します。
ステップ3: シナリオの実行をスケジュールする
スクリプトエディタで、[ツール]>[スクリプト設定…]を選択します。
設定ダイアログで、「シナリオ」タブを選択し、「スクリプトの実行」の下にある「新規追加」を選択します。
スクリプトを実行する時間を選択し、「更新」を選択します。
要求されたらアクセスを確認します。
ステップ4: スクリプトを確認して更新する
スクリプトを再テストして、期待どおりに動作することを確認します。
必要に応じて、コードを編集して、スクリプトの機能を調整または改善します。
変更があった場合は、スクリプトを保存して更新します。
の手順により、Googleドライブ上のExcelファイルのデータから自動的にメールを送信するシステムが正常に作成されました。このシステムは設定したスケジュールに従って実行され、Excelファイルの内容に基づいてメールが送信されます。
予想された結果:
実行後、Excelデータベースファイルの内容は送信時刻に合わせて更新されます。