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

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

 

関連記事

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