【生成AI×GAS】メール配信GASコードを修正する
オレンジピーチのトシです。
今回は、前回の記事で作成したメールを送信するGASが、思っていた動きをしていないため、このコードを修正していきます。
複雑な内容を生成AIを用いてコード作成すると、思ったように動かない場合もあります。私の言語化能力の問題もあるのですが(笑)
一度で、諦めてしまうのではなく、生成AIを利用して、原因を特定して、修正する方法を理解頂けたらHappyです。
問題の原因を究明する。
まずは原因を究明するために、前回の記事で作成したGASを読んでみます。
1行ずつ読んでいくと、「「2列目2行目に入っているメールアドレス情報を取得」とあります。
コードも、sheet.getRange(2,2).getValue(); となっています。
これは、過去に紹介した、単一のセルをコピーする場合の値の取り方です。
(過去の記事を読みたい人は、こちらからどうぞ)
ここで、2列目2行目のメールアドレスしか取得していないことが、原因のようです。この点を、生成AIに修正してもらおうと思います。
今回も、生成AIとして、Microsoft Bing Copilot を利用します。
生成AIを利用してGASコードを修正する。
今回は、コードも短いので、生成AIに全文を与えて修正を指示しました。
回答として生成されたコードは次の通りです。
コピーできるように、コードも貼っておきます。
function myFunction() {
const ss = SpreadsheetApp.openByUrl("スプレッドシートのURL"); // スプレッドシートのURLを指定
const sheet = ss.getSheetByName("配信先メールアドレス"); // シート名を指定
const lastRow = sheet.getLastRow(); // 最終行を取得
const recipientRange = sheet.getRange(2, 2, lastRow - 1, 1); // 2列目2行目から最終行までの範囲を取得
const recipients = recipientRange.getValues(); // メールアドレス情報を取得
const subject = "スプレッドシートの送信"; // 件名
const body = "みなさん、お疲れ様です。\nスプレッドシートへの転記が終了しましたので、リンクを送信します。\nリンク:******"; // 本文を入力
GmailApp.sendEmail(recipients, subject, body); // Gmailアプリを起動してメールを送信
}
修正したGASを実行する。
生成したGASコードをコピーして、エディタに貼り付けて実行しました。
("スプレッドシートのURL" の箇所は、実際のスプレッドシートのURLに置き換えます。)
実行した結果、スプレッドシートに記載のメールアドレス全てを宛先として、メールを送信することが出来ました。
まとめ
今回は、生成AIを使って書いたGASを、同じく生成AIを用いて修正する方法を紹介しました。
複雑な指示になってくると、内容が伝わらず、違う結果が得られたり、コードがエラーになったりすることも発生します。
そのようなときも、今回のように、生成AIに修正を指示することで、狙いのGASを作ることが出来ます。
次回は、今回作成したGASを解説したいと思います。
最後まで読んで頂き、ありがとうございました。
この記事が少しでもお役に立てたのなら、サポートいただけると嬉しいです。頂いたご支援は、今後の活動費やコンテンツの質向上に使わせていただきます。