始まりはメールから
私の仕事の始まりはメールのチェックから始まります。
いつもと変わらずメールをチェックしていると、取引先様からこんなメールが。
実は・・・
以前から問題にはなっていて、その時は予定日の二・三日に電話でご案内をしていました。
しかし、かけるタイミングが色々な事情で難しかったり自分がうっかり忘れていたり、電話連絡をしていてもお店と業者に食い違いがあったりとうまくいかず。
結局お電話の案内はやめ、業務連絡で発信するだけになっていました。
何とかしないと!
そして今回のメール✉。
さすがにこのままではマズイ💦何とかしないと・・・。
でも電話だとタイミングが難しいし、手間がかかるし。
う~~ん、やっぱりメール✉で連絡するのが一番いいかも。できれば店舗へ予定日の1週間前と2日前で件名と本文をそれぞれ変えてCcで共同作業している同僚にも自動でメール✉を送るシステムできないかな。
Glide?LINEBot?PowerAutomate??
どれも違う気がする・・・・。
そこで以前研修でお世話になった先生に相談することに
GASの勧め
そこで勧めていただいたのが 「Google Apps Script」 通称(GAS)。
ここで問題が!
これってコードの知識がないとできないのでは💦
そうです。
GASはコードを作成し実行させる物。コード知識0の私にはかなり高い壁(というか絶壁)です。!
ChatGPTとの会話は難しい
自分ではまだコードを書けない・・・そこで以前研修でも使ったChatGPTでコードを作成をお任せできるという事を思い出しました。
ここからが長い戦いになりました。
まずはデータベースとなるスプレッドシートを作成。
そこからはChatGPTとの会話のキャッチボールのスタートです。
やりたいことは
D列の日になったらG列の文を件名に張り付けてI列F列の文を本文に張り付ける。G列のアドレスをToに張り付けCCにH列とF列を張り付けてメールを送信する。
E列の日になったらE列の文を件名に張り付けてE列F列の文を本文に張り付ける。G列のアドレスをToに張り付けCCにH列とI列を張り付けてメールを送信する。
やり方は
だけ!
後は出てきたコードをGASに張り付けて実行してエラーが出ていたらまたそのエラー内容をChatGPTに入力してコードを書いてもらっての繰り返し。
それでもエラーが消えないときは質問の言葉を変えてまた同じことを繰り返しました。
そして完成へ
コードはこちら
function sendEmails() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var dataRange = sheet.getRange(2, 1, sheet.getLastRow() - 1, sheet.getLastColumn());
var data = dataRange.getValues();
var currentDate = new Date();
for (var i = 0; i < data.length; i++) {
// D列またはE列の日付を取得
var dateD = new Date(data[i][3]);
var dateE = new Date(data[i][4]);
if (dateD.getFullYear() == currentDate.getFullYear() && dateD.getMonth() == currentDate.getMonth() && dateD.getDate() == currentDate.getDate()) {
sendEmail(data[i][5], [data[i][11], data[i][12]], data[i][6], data[i][8], data[i][10]);
}
if (dateE.getFullYear() == currentDate.getFullYear() && dateE.getMonth() == currentDate.getMonth() && dateE.getDate() == currentDate.getDate()) {
// 複数のCcアドレスを指定
var ccAddresses = [data[i][11], data[i][12], /* さらに追加 */];
sendEmail(data[i][5], ccAddresses, data[i][7], data[i][9], data[i][10]);
}
}
}
function sendEmail(to, cc, subject, body, columnK) {
MailApp.sendEmail({
to: to,
cc: cc.join(','),
subject: subject,
body: body + '\n\n ' + columnK
});
}
ChatGPTの便利さから学んだこと
コード知識0でもChatGPTを使えば出てきたコードを張り付けるだけでできることがたくさんあるということを学びました。
但し一度で答えがぴったり出るわけではなく、何回も言葉を変え細かく会話を繰り返すことが必要。つまりトライアル&エラーが大事であるということを学びました。
今後も失敗から学ぶことを続けていきたいです。
人生トライアル&エラー!!