見出し画像

【生成AI×GAS】GASで部署名・氏名をメールに差し込む(コード改良)

オレンジピーチのトシです。
今回は、前回作成したGAS(Google Apps Script)のコードを修正したいと思います。
GAS初心者の人・プログラム初心者の人でも、生成AIを活用してGASのスクリプトを改良していく方法を知って頂ければHappyです。


前回の振り返り

前回の記事で、スプレッドシートのリストに従って、本文中の部署名や宛先氏名を変更できるようにGASを修正する方法を紹介しました。
概ね狙い通りの修正が出来たのですが、部署名、氏名の入力のところで「部」の記載が抜けていることが分かりました。
今回は、その修正を生成AIに指示したいと思います。

今回の完成イメージ:やりたいこと

現在のGASで送付されるメールは下記のようなものです。
メール冒頭に「営業 青森 太郎 様」とありますが、送りたかった文章は「営業 青森 太郎 様」です。
GASの操作の中で「部」を追加したいと思います。

送信されるメール

生成AIに指示を出す。

前回の生成AI(Microsoft Copilot)とのやり取りの続きとして修正を行っています。

生成AIへの追加指示

生成AIからの回答が届く

修正を指示すると、すぐに改良したGASを提示してくれました。
指示の内容も理解しているようです。

生成AIからの回答(先頭の部分)

続いて後半部分。(コード全体は、下に記しています)

生成AIからの回答(最後の部分)

改良されたコード全体

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

  // A列2行目から最終行までの氏名を取得
  var nameRange = sheet.getRange("A2:A" + sheet.getLastRow());
  var nameList = nameRange.getValues();

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

  // C列2行目から最終行までの部署名を取得
  var departmentRange = sheet.getRange("C2:C" + sheet.getLastRow());
  var departmentList = departmentRange.getValues();

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

  // 件名を設定
  var subject = `月次進捗ファイル(${year}${month}月度)の更新依頼`;

  // 各メールアドレスにメールを送信
  for (var i = 0; i < emailList.length; i++) {
    var recipient = emailList[i][0];
    var name = nameList[i][0];
    var department = departmentList[i][0];

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

    MailApp.sendEmail({
      to: recipient,
      subject: subject,
      body: body
    });
  }
}

スクリプトの解説は後ほど行うとして、早速GASを実行したいと思います。

GASを実行すると、改良したメールが送信される

コードを上書きして実行すると、それぞれのメールアドレスにメールが送信されました。
狙い通り「部」の文字が入ったメールになっています。
画像では1通だけですが、その他のメールアドレスにも「部」入りのメールが送られています。

送信されたメール

まとめ

今回は、スプレッドシートのリストに従って、本文中の部署名や宛先氏名を差し替えてメールを送るGASの修正を行いました。
次回は、今回作成したGASのコードの解説を行いたいと思います。

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


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