お仕事おつにゃッス🐈
文系未経験から社内SEになった、あっきょ(@daily_code_JP)です!
メールでBCCかCCに設定して一斉送信するのに多大な時間と労力を費やしていませんか?
しかし、GASを使えば1クリックでメールを一斉送信が可能。
また、送信者をリスト化するのでミスを減らすこともできます。
この記事ではコピペOKのGoogle Apps Scriptのコードで解決します。
この記事はこんな人におすすめ!
- 決まった人物にBCCかCCのメールを送信したい
- 送信漏れやメールの設定ミスを減らしたい
- プログラミングでJavaScriptを学んだけど、何を作っていいかわからない
誰でも無料で簡単にできますのでお気軽に学んでいきましょう!
-プログラミング独学の挫折率は90%近く-
侍エンジニアの調査によれば独学経験者のうち9割が挫折を経験。
挫折する理由は「相談できる相手がいなかった」からが多数です。
また社内のDX化や小学校からのIT教育により、プログラミングは社会人の教養の1つになりました。
文系未経験が挫折しないでスキルアップを目指せるプログラミングスクールを紹介。
事務職から社内エンジニアになったあっきょが徹底比較しました。
![](https://daily-coding.com/test/wp-content/uploads/2022/09/gas-school-thumbnail-300x157.jpg)
![](https://daily-coding.com/test/wp-content/uploads/2023/02/school-education-thumbnail-300x157.jpg)
![](https://daily-coding.com/test/wp-content/uploads/2022/11/school-sidejob-thumbnail-300x157.jpg)
GASでBCCかCCでメールを送信するイメージ
![GASでBCCかCCでメールを一斉送信するイメージ](https://daily-coding.com/test/wp-content/uploads/2022/02/image-bcc-cc-sendMail-2.png)
スプレッドシートに登録したメールアドレスにBCCかCCで送信するアプリを作成します。
例えば、あなたは取引先全員に1回ずつ送信するなら莫大な時間と労力が必要になります。
さらに上司や先輩にBCCに設定して送る場合は送信漏れの不安が残るでしょう。
GASなら1クリックで送信を自動化しつつ、BCCかCCを設定して対象者全員に送信できます。
送信先のリスト化もできるので送信漏れも防げますよ。
![](https://daily-coding.com/test/wp-content/uploads/2022/07/akio-image-cat-150x150.png)
特別な技術なしで非エンジニアでも自動化できるッス!
メールをBCCかCCで送信する準備
GASでメールをBCCとCCで一斉送信する準備。
ファイルは2つ必要です。
必要なファイル
- Google ドキュメント…送信するメール本文の作成
- Google スプレッドシート…顧客データの保存&GASのプログラムの実行
Google ドキュメントの設定
Googleドキュメントでメールの本文を作成します。
文章内の {customer} には、「リスト」シートから取得した名前( 姓+名 )が入ります。
Google ドキュメントの編集は以上です。
![GASでBCCかCCの設定をしてメールを送信するGoogle ドキュメントの設定](https://daily-coding.com/test/wp-content/uploads/2021/09/スクリーンショット-102-1024x420.png)
![GASでBCCかCCの設定をしてメールを送信するGoogle ドキュメントの設定](https://daily-coding.com/test/wp-content/uploads/2021/09/スクリーンショット-102-1024x420.png)
Google スプレッドシートの設定
顧客データを登録するスプレッドシートを作成。
Google スプレッドシートはデータを管理するデータベースとして扱います。
- 姓
- 名
- メールアドレス
の計3つを列Aから列C の1行目に見出しを記入します。
![GASでBCCかCCの設定をしてメールを送信するGoogle スプレッドシートの設定](https://daily-coding.com/test/wp-content/uploads/2021/09/スクリーンショット-99.png)
![GASでBCCかCCの設定をしてメールを送信するGoogle スプレッドシートの設定](https://daily-coding.com/test/wp-content/uploads/2021/09/スクリーンショット-99.png)
個別の顧客情報を記入していきます。
後からテストで送信するので自身が所有するメールアドレスに書き換えます。
今回は例として1人だけ記入していますが、2人以上でも問題ありません。
![GASでBCCかCCの設定をしてメールを送信するGoogle スプレッドシートの設定でメールアドレスを登録](https://daily-coding.com/test/wp-content/uploads/2022/02/GAS-スプレッドシート作成.png)
![GASでBCCかCCの設定をしてメールを送信するGoogle スプレッドシートの設定でメールアドレスを登録](https://daily-coding.com/test/wp-content/uploads/2022/02/GAS-スプレッドシート作成.png)
シートの名前を変更します。
右クリックして「リスト」と名前をつけます。Google スプレッドシート の編集は以上です。
![GASでBCCかCCの設定をしてメールを送信するGoogle スプレッドシートのシートの名前を変更](https://daily-coding.com/test/wp-content/uploads/2021/09/スクリーンショット-105.png)
![GASでBCCかCCの設定をしてメールを送信するGoogle スプレッドシートのシートの名前を変更](https://daily-coding.com/test/wp-content/uploads/2021/09/スクリーンショット-105.png)
サンプルコードを貼り付ける場所
サンプルコードはGoogle スプレッドシートにコピペ。
上バーの「拡張機能」の中にある「Apps Script」をクリックしてコードを貼り付けます。
![Apps Script表示](https://daily-coding.com/test/wp-content/uploads/2022/02/スクリーンショット-155-e1643870447699.png)
![Apps Script表示](https://daily-coding.com/test/wp-content/uploads/2022/02/スクリーンショット-155-e1643870447699.png)
メールを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 ドキュメントを保存した場所に移動します。
![](https://daily-coding.com/test/wp-content/uploads/2021/09/スクリーンショット-109.png)
![](https://daily-coding.com/test/wp-content/uploads/2021/09/スクリーンショット-109.png)
Google ドキュメントにカーソルを合わせて右クリックし、「リンクを取得」を選択します。
![GoogleドキュメントのID取得](https://daily-coding.com/test/wp-content/uploads/2022/02/スクリーンショット-108.png)
![GoogleドキュメントのID取得](https://daily-coding.com/test/wp-content/uploads/2022/02/スクリーンショット-108.png)
「リンクをコピー」をクリックしてコピー後、URLを定数DOC_URLに上書きします。
![GoogleドキュメントのURL表示](https://daily-coding.com/test/wp-content/uploads/2022/02/スクリーンショット-110-1.png)
![GoogleドキュメントのURL表示](https://daily-coding.com/test/wp-content/uploads/2022/02/スクリーンショット-110-1.png)
B. 操作するスプレッドシートの定義
//B.操作するスプレッドシートの定義
const spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
const listSheet = spreadSheet.getSheetByName('リスト');
const listLastRow = listSheet.getLastRow();
編集するGoogle スプレッドシートを指定します。
getLastRowメソッドでは、空白ではない最後のセルの行番号を取得します。
最終行を取得するメソッドの詳細はこちら。
![](https://daily-coding.com/test/wp-content/uploads/2022/04/thumb-last-row-column-2-300x225.png)
![](https://daily-coding.com/test/wp-content/uploads/2022/04/thumb-last-row-column-2-300x225.png)
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 + ",";
}
メールアドレスをコンマで区切った1つの文字列を作成して変数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で送信しますが、options内の「cc」を「bcc」に書き換えるとBCCで送信します。
コードの解説は以上です。
BCCかCCでメールを送信するテスト
実際にGoogle Apps Script からメールを送信します。
Apps Scriptの上バーの文字が「sendMail」なら「実行」をクリック。
![GASでBCCかCCでメールを送信する関数の実行](https://daily-coding.com/test/wp-content/uploads/2022/02/スクリーンショット-152.png)
![GASでBCCかCCでメールを送信する関数の実行](https://daily-coding.com/test/wp-content/uploads/2022/02/スクリーンショット-152.png)
「このアプリはGoogleで確認されていません」と表示した場合はこちら。
![](https://daily-coding.com/test/wp-content/uploads/2022/01/error-thumb-2-300x225.png)
![](https://daily-coding.com/test/wp-content/uploads/2022/01/error-thumb-2-300x225.png)
問題がなければメールが届きます。
Google ドキュメント内の{custom}が氏名に書き換わっていることも確認できます。
![GASでBCCかCCでメールを送信した結果](https://daily-coding.com/test/wp-content/uploads/2022/02/スクリーンショット-150.png)
![GASでBCCかCCでメールを送信した結果](https://daily-coding.com/test/wp-content/uploads/2022/02/スクリーンショット-150.png)
まとめ | プログラミング未経験でもGASでスキルアップ!
以上、Google Apps Script を使ってメールをBCC&CCで自動送信するコードでした。
日常業務で使いやすいように改修したりプログラミングの練習に使ったりしてみましょう。
GASを効率的に学ぶなら以下の2つの方法が多いです。
- 参考書やオンライン教材で独学
- プログラミングスクールを利用
正しく学ぶことで非エンジニアでも実用的な業務効率化のスキルが身に付きます。
デイコーでは、GASのサンプルコードからおすすめのプログラミングまで幅広く紹介。
初心者にもわかりやすく解説しています。
![](https://daily-coding.com/test/wp-content/uploads/2022/07/akio-image-cat-150x150.png)
![](https://daily-coding.com/test/wp-content/uploads/2022/07/akio-image-cat-150x150.png)
![](https://daily-coding.com/test/wp-content/uploads/2022/07/akio-image-cat-150x150.png)
プログラミングスクールは82社を分析したッス!
次回の記事もご期待ください!
それでは、よいプログラミングライフを!