見出し画像

【生成AI×GAS】メール件名変更GASの解説④

オレンジピーチのトシです。
生成AIを用いて作成したGASの内容を解説しています。
作成したスクリプトは、「GASを用いてメールの件名を変更しながら、スプレッドシートに記載のメールアドレスリストにGmailを作成・送信する」というものです。
作成したGASや、これまでの解説はこちらから。
それでは今回の解説を行っていきたいと思います。


前回のおさらい

解説の対象としているGASがこちらです。
前回の解説で、件名と本文の中に、取得した値を入れ込む方法まで解説しました。
今回は、残りのGASコードについて解説を行い、全体的なレビューを行いたいと思います。

function sendEmail() {
  // スプレッドシートを開く
  var sheet = SpreadsheetApp.getActiveSheet();

  // B列2行目から最終行までのメールアドレスを取得
  var lastRow = sheet.getLastRow();
  var emailRange = sheet.getRange("B2:" + "B" + lastRow);
  var emailList = emailRange.getValues();

  // 現在の日付を取得
  var today = new Date();
  var year = today.getFullYear();
  var month = today.getMonth() + 1; // 月は0始まりなので、+1する

  // 件名と本文を設定
  var subject = `月次進捗ファイル(${year}${month}月度)の更新依頼`;
  var body = "";
  body += "株式会社オレンジピーチ \n";
  body += "\n";
  body += "営業部 青森 太郎 様\n";
  body += "おつかれさまです。\n";
  body += "企画部の橙桃です。\n";
  body += `${year}${month}月度の月次進捗ファイルの更新をお願いいたします。\n`;
  body += "締切は、**7月25日**となります。それまでに、リンクの月次進捗表を更新して下さい。\n";
  body += "\n";
  body += "営業部 青森 月次進捗ファイル\nURL: ********\n";
  body += "\n"
  body += "どうぞよろしくお願いします。";

  // 各メールアドレスにメールを送信
  for (var i = 0; i < emailList.length; i++) {
    var recipient = emailList[i][0];
    MailApp.sendEmail({
      to: recipient,
      subject: subject,
      body: body
    });
  }
}

前回の解説はこちらから

GASの内容解説④

スクリプトの未解説の部分です。
この部分は、GASの修正前(複数宛先にメールを送る)の内容から変更はありません。

// 各メールアドレスにメールを送信
 for (var i = 0; i < emailList.length; i++) {
   var recipient = emailList[i][0];
   MailApp.sendEmail({
     to: recipient,
     subject: subject,
     body: body
   });
 }
}

メール件名変更GASの振り返り

ここまでで、今回のGAS修正のポイントである「メール件名変更」についての解説が終わりました。

簡単に、修正したGASの振り返りを行っていきます。

今回の修正点の振り返り

まず、生成AIを用いて、GASの修正を行いました。

 宛先: スプレッドシートのB列に記載のあるメールアドレス
 件名: 月次進捗ファイル(7月度)の更新依頼
 本文: 株式会社オレンジピーチ
     〔以下、省略〕

修正点の1つ目は、件名の中にある「(7月度)」の記載をGASの動作日付から年・月を引用して記載できるようにしました。

件名: 月次進捗ファイル(2024年7月度)の更新依頼

修正点の2つ目は、本文の中にある「(7月度)」の記載も、同じくGASの動作日時から年・月を引用して記載できるようにしました。

本文(抜粋):
 2024年7月度の月次進捗ファイルの更新をお願いいたします。

このように、件名・本文の一部で、GASの動作日時から必要な情報を取り出し、動的にメール内容に反映できるようになりました。

現時点での残課題

改善が進みましたが、完成までにはいくつかの課題が残っています。
改善課題を確認して行きたいと思います。

配信されるメール内容
  1. 部署名
    現在のGASでは、部署名が「営業部」で固定となっています。
    こちらは、スプレッドシートで作成している「送信先メールアドレス」のリストに沿って部署名を変更したいです。

  2. 宛先氏名
    現在のGASでは、宛先の氏名が「青森 太郎」で固定となっています。
    メールアドレスは、スプレッドシートのリストに沿って変更できるようになりましたが、これでは片手落ちです。
    宛先の氏名も、スプレッドシートのリストに沿って変更できるように修正したいです。

  3. 締切日付
    現在のGASでは、締切日付が「7月25日」で固定となっています。
    こちらは、月末からの逆算で日付設定できるようにしたいです。

  4. 各自の月次進捗ファイル
    現在のGASでは、営業の青森さんのファイルで固定となっています。
    宛先の担当者のファイルのURLが挿入されるようにしたいです。

これらの残課題を順次、改善していき、その過程をみなさんに紹介していきたいと思います。

まとめ

 今回まで4回に渡り、メール件名変更GASのコードの解説を行ってきました。読んで頂いた人のGASへの理解が少しでも深まればHappyです。
 次回からは、今回の記事で示した残課題を解決するために、生成AIを活用して更にGASの改良を行っていきたいと思います。

今回は以上です。最後まで読んで頂き、ありがとうございました。
記事の内容が参考になった方は、「スキ」して頂けると励みになります。


この記事が少しでもお役に立てたのなら、サポートいただけると嬉しいです。頂いたご支援は、今後の活動費やコンテンツの質向上に使わせていただきます。