お仕事おつにゃッス🐈
文系未経験から社内SEになった、あっきょ(@daily_code_JP)です!
メールでBCCかCCに設定して、上司や同僚に一斉送信するのに多大な時間と労力を費やしていませんか?
この記事ではそのお悩みを、コピペOKのGoogle Apps Scriptのコードで解決します。

- 決まった人物にBCCかCCのメールを送信したい
- 送信漏れやメールの設定ミスを減らしたい
- プログラミングでJavaScriptを学んだけど、何を作っていいかわからない
誰でも無料で簡単にできますので、お気軽に学んでいきましょう!
タップできる目次
GASでBCCかCCでメールを送信するイメージ

スプレッドシートに登録しているメールアドレスにBCCかCCで送信するアプリを作成します。
あなたは取引先全員にメールを送信しますが、これを1回ずつ送信してたら莫大な時間と労力が必要です。
また、上司や先輩にはBCC設定しますが、送信漏れの不安が残ります。
しかし、GASなら1クリックで送信を自動化しつつ、BCCかCCを設定して対象者全員に送信できます。
したがって、1つの動作で全てが終わるメールアプリを実現できます。
メールをBCCかCCで送信する準備
GASでメールをBCCとCCで一斉送信する準備します。ファイルは2つ必要です。
必要なファイル
- Google ドキュメント ・・・ 送信するメール本文の作成
- Google スプレッドシート ・・・ 顧客データの保存 & GASのプログラムの実行
Google ドキュメントの設定
Googleドキュメントでメールの本文を作成します。文章内の {customer} には、「リスト」シートから取得した名前( 姓+名 )が入ります。Google ドキュメントの編集は以上です。

Google スプレッドシートの設定
顧客データを登録するスプレッドシートを作成していきます。
Google スプレッドシートは、データを管理するデータベースとして扱います。
「姓」,「名」,「メールアドレス」の計3つを列Aから列C の1行目に見出しを記入します。

個別の顧客情報を記入していきます。
後からテストで送信するので、自身が所有しているメールアドレスに書き換えます。
今回は例として顧客情報を1人だけ記入していますが、2人以上でも問題ありません。

シートの名前を変更します。
右クリックして「リスト」と名前をつけます。Google スプレッドシート の編集は以上です。

サンプルコードを貼り付ける場所
サンプルコードはGoogle スプレッドシートにコピペします。
上バーの「拡張機能」の中にある「Apps Script」をクリック。ここにコードを書きます。

メールをBCCかCCで送信するサンプルコード
BCCとCCに設定したGメールの一括送信するサンプルコードの公開と説明をしていきます。
解説の項目
- サンプルコード
- A. メールに送信する内容を設定
- B. 操作するスプレッドシートの定義
- C. BCCまたはCCで送るメールアドレスの取得
- D. Google ドキュメントからメール本文を取得して送信
サンプルコード
右上にあるマークを押すとコードのコピペを一瞬でできます。また、コード内で文頭にアルファベットが付いているコメントごとに、詳細を説明していきます。
function sendMail() {
//A.メールに送信する内容を設定
const DOC_URL = 'Google ドキュメントのURL';
const senderName = '送り主の名前';
const subject = 'メールのタイトル';
//B.操作するスプレッドシートの定義
const spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
const listSheet = spreadSheet.getSheetByName('リスト');
const listLastRow = listSheet.getLastRow();
//C.BCCまたはCCに送るメールアドレスの取得
let ccAddress = ""; //BCCまたはCCで送るメールアドレスの列
for(var i=2; i<=listLastRow; i++){
const mailAddress = listSheet.getRange(i,9).getValue();
ccAdress += mailAddress + ",";
}
//D.Google ドキュメントからメール本文を取得して送信
const openDoc = DocumentApp.openByUrl(DOC_URL); //Google ドキュメントのURLを取得
let wholeText = openDoc.getBody().getText(); //取得したドキュメントの本文を読み込み
const recipient = listSheet.getRange(2,4).getValue(); //toのメールアドレス
const customerName = listSheet.getRange(2,2).getValue()
+
" "
+
listSheet.getRange(2,3).getValue(); //送信先の氏名
const options = {
name: senderName,
cc : ccAddress
};
let body = wholeText.replace("{customer}", customerName); //テキスト内の{customer}を上書き
MailApp.sendEmail(recipient, subject, body, options); //メールをCCで送信
}
A. メールに送信する内容を設定
//A.メールに送信する内容を設定
const DOC_URL = 'メールの本文になる Google ドキュメントのURL';
const senderName = '送り主の名前';
const subject = 'メールのタイトル';
3つの定数を定義し、「' '」の中をそれぞれ書き換えます。
定数 DOC_URL は Google ドキュメントのURLを取得方法を取得します。
Google ドキュメントのURLの取得の方法
ドライブ内で、メールの本文を記入した Google ドキュメントを保存している場所に移動します。

Google ドキュメントにカーソルを合わせて右クリックすると、メニューが現れるので「リンクを取得」をクリックします。

「リンクをコピー」をクリックすると、コピーが完了します。コピーしたURLを定数 DOC_URL に上書きします。

B. 操作するスプレッドシートの定義
//B.操作するスプレッドシートの定義
const spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
const listSheet = spreadSheet.getSheetByName('リスト');
const listLastRow = listSheet.getLastRow();
編集するGoogle スプレッドシートを指定します。
getLastRowメソッドでは、空白ではない最後のセルの行番号を取得します。この例では「4」になります。
最終行を取得するメソッドの詳細はこちら。
-
【5分で解決】GASでスプレッドシートの最終行と最終列を取得
続きを見る
C. BCCまたはCCで送るメールアドレスの取得
//C.BCCまたはCCで送るメールアドレスの取得
let ccAddress = ""; //BCCまたはCCで送るメールアドレスの列
for(var i=2; i<=listLastRow; i++){
const mailAddress = listSheet.getRange(i,9).getValue(); //セルからメールアドレスを取得
ccAdress += mailAddress + ",";
}
for文でメールアドレスをコンマで区切った文字列を作成し、変数 ccAddress に代入します。
出力する文字列は「b@mail.com, c@mail.com, d@mail.com」となります。
D. Google ドキュメントからメール本文を取得して送信
//D.Google ドキュメントからメール本文を取得して送信
const openDoc = DocumentApp.openByUrl(DOC_URL); //Google ドキュメントのURLを取得
let wholeText = openDoc.getBody().getText(); //取得したドキュメントの本文を読み込み
const recipient = listSheet.getRange(2,4).getValue(); //toのメールアドレス
const customerName = listSheet.getRange(2,2).getValue()
+
" "
+
listSheet.getRange(2,3).getValue(); //送信先の氏名
const options = {
name: senderName,
cc : ccAddress
};
let body = wholeText.replace("{customer}", customerName); //テキスト内の{customer}を上書き
MailApp.sendEmail(recipient, subject, body, options); //メールをCCで送信
スプレッドシートとドキュメントから得たデータからメールを作成してCCで送信します。
定数options では、CCに設定したの送信先のメールアドレスを指定します。
この例では、定数ccAddress に代入したアドレスをCCで送信しますが、option内の「cc」を「bcc」に書き換えるとBCCで送信します。
コードの解説は以上です。
メールを送信するテスト
実際にGoogle Apps Script からメールを送信します。
Apps Scriptの上バーの文字が「sendMail」になっていたら「実行」を押します。

「このアプリはGoogleで確認されていません」と表示される場合はこちら。
-
【3分で解決】GASの「このアプリはGoogleで確認されていません」を許可する方法
続きを見る
問題がなければメールが届きます。Google ドキュメント内の{custom}が氏名に書き換わっていることも確認できます。

【残業半減】GASを使ったメール送信方法
この記事ではBCCとCC送信する方法を紹介しました。
GASでは他にも、1クリックで一斉送信やファイルを添付して送信もできます。
当サイトでコピペOKのサンプルコードも用意していますので、ぜひご活用ください。
-
【残業3割減】GASでメールの一斉送信を自動化
続きを見る
-
【コピペOK】GASでメールの送信で添付ファイルを追加
続きを見る
おわりに | GASでさらにスキルを高めるには
以上、Google Apps Script を使ってメールをBCC&CC設定して自動送信する方法でした。
そのままコピペして日常業務で使いやすいように改修したり、プログラミングの練習や動作確認用に使ってみましょう。
GASでさらに業務効率化する場合、参考書やプログラミングスクールを使うとあなた自身でアプリを作るスキルが身に付きます。
GASユーザーのあっきょがおすすめの勉強方法はこちら↓

次回の記事もご期待ください!