【GAS】メールを一斉送信するには?

訪問して頂きありがとうございます。まさふくろーです。

この記事では、メールを一斉送信する方法をご紹介します。

メールを一斉送信する

制限事項

  • 無料で送ることができる最大件数は、アカウント単位で1日100通までです。
  • cc、bccもそれぞれ1通とカウントされるので、to、cc、bccそれぞれ1つずつ設定した場合、合計で3通となります。

使用するシート名

「メール送信」シート

 

サンプルデータ

処理フロー図

使用するステートメント

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 「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 スクリプトを実行

スクリプトエディタの「実行」をクリックすると、メールが送信されます。

 

関連記事

最後まで読んでいただき、ありがとうございました!