訪問して頂きありがとうございます。まさふくろーです。
この記事では、メールを一斉送信する方法をご紹介します。
目次
メールを一斉送信する
制限事項
使用するシート名
「メール送信」シート
サンプルデータ
処理フロー図
使用するステートメント
forステートメント
for (初期化式; 条件式; 増減式) {
繰り返す処理;
}
説明 |
条件式にあてはまる間、処理を繰り返すには、forステートメントを使用します。 |
使用するメソッド
getActiveSpreadsheetメソッド
SpreadsheetApp.getActiveSpreadsheet()
説明 |
現在アクティブなSpreadsheetオブジェクトを返します。 |
getSheetByNameメソッド
Spreadsheetオブジェクト.getSheetByName(シート名)
説明 |
指定したシート名のSheetオブジェクトを返します。 |
getRangeメソッド
Sheetオブジェクト.getRange(a1Notation)
説明 |
セル範囲を取得します。 |
指定項目 | 必須 | 説明 |
a1Notation | 〇 | 単一セルまたはセル範囲(複数セル)を指定します。 |
getValuesメソッド
getRangeメソッドで取得したセル範囲.getValues()
説明 |
getRangeメソッドで取得したセル範囲の値を2次元配列で返します。 |
行列のインデックスは1から始まりますが、配列は[0][0]から始まります。 |
setValueメソッド
getRangeメソッドで取得した単一セル.setValue(設定する値)
説明 |
getRangeメソッドで取得した単一セルに値を設定します。 |
指定項目 | 必須 | 説明 |
設定する値 | 〇 | 単一セルに設定する値を指定します。 |
sendEmailメソッド
参考 sendEmailメソッドGmailでメールを送信する
使用するプロパティ
lengthプロパティ
配列変数.length
説明 |
配列の要素数を取得するには、lengthプロパティを使います。 |
手順
おおまかな流れ
Step.1スクリプトエディタを起動Step.2スクリプトを作成Step.3スクリプトを実行
詳細
Step.1 スクリプトエディタを起動
「ツール」をクリックします。
「スクリプトエディタ」を選択します。
すると、スクリプトエディタが起動します。
Step.2 スクリプトを作成
スクリプトを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
function sendMail() { let spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); let sheet = spreadsheet.getSheetByName('メール送信'); sheet.activate(); let range = sheet.getRange("A2:F3"); let values = range.getValues(); let row = 2; for (let i = 0; i < values.length; i++) { let value0 = values[i][5]; if (value0 == ''){ let recipient = values[i][0]; let recipientCompany = values[i][1]; let recipientName = values[i][2]; let subject = values[i][3]; let value1 = values[i][4]; let body = recipientCompany + '\n' + recipientName + '様\n\n' + value1; let options = { from: 'fromsample@gmail.com' , name: 'まさふくろー' }; GmailApp.sendEmail(recipient, subject, body, options); sheet.getRange('F'+ row).setValue('〇'); } row = row + 1; } } |
1 | 「sendMail」関数を作成。 |
3 | 現在アクティブなスプレッドシートオブジェクトを取得し、変数「spreadsheet」に格納。 |
4 | 「メール送信」シートオブジェクトを、変数「sheet」に格納。 |
6 | 「メール送信」シートを選択状態にする。 |
8 | 「A2」~「F3」セルの位置を取得します。 |
9 | 「A2」~「F3」セルの値を取得します。 |
11 | データ行の開始位置「2」を変数「row」に格納。 |
13 | 配列の要素数の分だけ以下処理を繰り返す。 |
14 | 「送信結果」項目(F列)の値を取得し、変数「value0」に格納。 |
16 | 変数「value0」の値が空欄の場合、以下処理を行う。 |
17 | 「送信先メールアドレス」項目(A列)の値を取得し、変数「recipient」に格納。 |
18 | 「送信先の会社名」項目(B列)の値を取得し、変数「recipientCompany」に格納。 |
19 | 「送信先の担当者名」項目(C列)の値を取得し、変数「recipientName」に格納。 |
20 | 「件名」項目(D列)の値を取得し、変数「subject」に格納。 |
21 | 「本文」項目(E列)の値を取得し、変数「value1」に格納。 |
23 |
変数「value1」の値を、変数「body」に格納。 |
「送信先の会社名」と「送信先の担当者名」は18、19行目で格納した変数「recipientCompany」「recipientName」を使用します。 | |
「+」は文字列を結合する場合に指定します。 | |
「\n」は改行する場合に指定します。 | |
25~28 | プロパティ「from」「name」を変数「options」に格納。 |
30 | 上記17~28行目で設定した内容で、メールを送信します。 |
32 | 「送信結果」項目(F列)に「〇」(送信済み)を設定します。 |
35 | 現在行を取得し、変数「row」に格納。 |
Step.5 スクリプトを実行
スクリプトエディタの「実行」をクリックすると、メールが送信されます。
関連記事
最後まで読んでいただき、ありがとうございました!