-文系卒のあっきょが残業を1時間も減らせた理由とは?-
プログラミングを学んで業務自動化アプリを自作すれば、残業時間を圧倒的に減らせます。
事務職や営業職などの非エンジニアでも、リスキリングで業務の負担を減らしています。
プログラミングスクールなら、仕事終わりの夜遅くにオンラインで自宅学習。
しかも、厚生労働省の教育訓練給付金制度を使えば受講料が最大70%OFFとお得。
プログラミングスクールはこんな社会人におすすめです。
- リスキリングで基礎からプログラミングを学びたい人
- 日常業務を自動化して残業時間を減らしたい人
- 転職や副業で有利なスキルを身につけたい人
- 独学で挫折した経験がある人
おかげで平日でも趣味の時間を取れたッス!
文系未経験から社内SEになった、あっきょ(@daily_code_JP)です!
メールでBCCかCCに設定して一斉送信するのに多大な時間と労力を費やしていませんか?
しかし、GASを使えば1クリックでメールを一斉送信が可能。
また、送信者をリスト化するのでミスを減らすこともできます。
この記事ではコピペOKのGoogle Apps Scriptのコードで解決します。
この記事はこんな人におすすめ!
- 決まった人物にBCCかCCのメールを送信したい
- 送信漏れやメールの設定ミスを減らしたい
- プログラミングでJavaScriptを学んだけど、何を作っていいかわからない
誰でも無料で簡単にできますのでお気軽に学んでいきましょう!
GASでBCCかCCでメールを送信するイメージ
スプレッドシートに登録したメールアドレスにBCCかCCで送信するアプリを作成します。
例えば、あなたは取引先全員に1回ずつ送信するなら莫大な時間と労力が必要になります。
さらに上司や先輩にBCCに設定して送る場合は送信漏れの不安が残るでしょう。
GASなら1クリックで送信を自動化しつつ、BCCかCCを設定して対象者全員に送信できます。
送信先のリスト化もできるので送信漏れも防げますよ。
特別な技術なしで非エンジニアでも自動化できるッス!
メールを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メソッドでは、空白ではない最後のセルの行番号を取得します。
最終行を取得するメソッドの詳細はこちら。
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」なら「実行」をクリック。
「このアプリはGoogleで確認されていません」と表示した場合はこちら。
問題がなければメールが届きます。
Google ドキュメント内の{custom}が氏名に書き換わっていることも確認できます。
まとめ | 文系社会人でもGASでスキルアップ!
以上、Google Apps Script を使ってメールをBCC&CCで自動送信するコードでした。
日常業務で使いやすいように改修したりプログラミングの練習に使ったりしてみましょう。
文系未経験の社会人でも、GASを効率的に学ぶならプログラミングスクールがおすすめ。
現役エンジニアの講師のもとで学びながら、途中で挫折せず確実にスキルが身につきます。
次回の記事もご期待ください!
それでは、よいプログラミングライフを!