はじめに
私は業務で Google Drive を良く使用します。
ファイルは報告や連絡など様々ですが、発注に使用される事もあります。
その中でもスポット商品の発注は時間的拘束が強めです。
仕様はスプレッドシートに欲しい商品の数量を〆切時間までに打ち込むというものです。
投函されるとバイヤーからメールが配信されますが、私個人に支給された仕事用のメールアドレスはありませんので、店舗のアドレスにメールが送信されます。
その為、投函されたかどうかはパソコンで店舗アカウントのメールを確認するかGoogle Driveを直接閲覧するしかありません。うっかり忘れてしまって〆切を過ぎてしまったり、限定数量があるものは早い者勝ちなので発注を逃してしまう事もあります。
そこで、新規スプレッドシートが指定フォルダに追加されたら
私のスマホにメールで通知する様にしたいです。
しかし、私はコードが書けません…
そんな時にはChatGPTに書いてもらっちゃいましょう。
使用ツール
・Google Drive
・Google Apps Script(GAS)
・ChatGPT
作成方法
ChatGPTでコードを作成
ChatGPTに下記のプロンプトを入力しました。
それに対するChatGPTが作成したコードはこちらです。
ChatGPT作成コード
function notifyNewFile() {
var folderId = "YOUR_FOLDER_ID"; // 監視したいフォルダのIDに置き換えてください
var folder = DriveApp.getFolderById(folderId);
var files = folder.getFiles();
// 新しいファイルを記録するためのプロパティストア
var properties = PropertiesService.getScriptProperties();
var processedFiles = properties.getProperty('processedFiles');
var processedFileIds = processedFiles ? processedFiles.split(",") : [];
while (files.hasNext()) {
var file = files.next();
var fileId = file.getId();
// ファイルIDがリストにない場合、新しいファイルとして認識し、メール送信
if (processedFileIds.indexOf(fileId) === -1) {
var emailAddress = "recipient@example.com"; // 送信先のメールアドレスに置き換えてください
var subject = "新しいファイルが追加されました: " + file.getName();
var message = "フォルダに新しいファイルが追加されました: " + file.getName() + "\nリンク: " + file.getUrl();
// メール送信
MailApp.sendEmail(emailAddress, subject, message);
// ファイルIDをリストに追加
processedFileIds.push(fileId);
}
}
// 更新したファイルIDリストを保存
properties.setProperty('processedFiles', processedFileIds.join(","));
}
Google Drive フォルダ ID を確認
次は監視したいフォルダの ID を取得します。
今回は実験導入の為、私のフォルダで設定します。
指定のファイル(今回はマイドライブの「新しいファイルを入れるフォルダ」)を開き、
URLの中からフォルダ ID を取得します。
Google Apps Script を作成
指定のファイル内の「+ New 」をクリックし、
「 More 」の「 Google Apps Script 」を選択します。
別のタグで Apps Script が立ち上がります。
プロジェクト名を任意の名前に変更します。
設定変更
ChatGPTが作成したスクリプトを貼り付け、
YOUR_FOLDER_ID
を先ほど取得した監視するフォルダのIDに変更します。
emailAddress =
の後の recipient@example.com
を
メールを受け取りたいアドレスに変更します。
Save project を押して保存し、Run でこのnotifyNewFile
関数を実行します。
Run を押した後に認証を求められます。
権限を確認しアカウントを選択すると注意喚起が出てきます。
下記の様に対応してください。
トリガーの設定
次画面で「create a new trigger」か「+ Add Trigger」を選択します。
イベントソースは時間駆動型を選択し、
「時間ベースのトリガーの種類を選択」は、分タイマーを選択します。
時間の間隔は毎分にしました。
保存を押して設定完了です。
フォルダに新しいファイルを入れてみると…
即座に通知メールが来ました。
おまけ
ChatGPTを使用してスクリプトを作りましたが、その早さにびっくりです。
ChatGPTでもう一つぐらい何か作れないかと思い、ChatGPTで出来る事を検索していたら、「ゲームを作れる」という言葉が目に入ったのでブロック崩しゲームを作ってみました。
そんなに簡単に…1分程であっという間に完成です。
折角なので色々注文をつけてみました。
結果がこちらです。
修正もお手の物ですね…五分程度でこのクオリティは圧巻でした。
最後に
今回はコードを書けない私が、ChatGPTを活用してスクリプトを生成し、
GASを用いて作業効率化を試みました。これにより、わざわざパソコンで確認をする必要が無くなり、10分は効率化できたかと思います。
今回ChatGPTを利用してみて感じたことは、まるで超優秀な部下がササッと仕事をこなしてる様でした。ビジネスにおいても、プライベートにおいても、この「優秀な部下」を上手く使わない手は無いですね。必ず活用すべきだと思います。
これからもChatGPT活用方法を模索し、作業効率化に努めていきます。
最後まで読んでいただきありがとうございました。