実現したいこと
Googleドライブへ医療関係の手順書を保存します。
トップはマイドライブです。
マイドライブの下に「最新版」フォルダと「バックアップ」フォルダがあります。
最新版フォルダには最新版の手順書を保存し、フォルダを丸ごと関係者に共有します。
バックアップフォルダには古い手順書を全部残します。
最新版フォルダへ最新版をアップロードすると同一名称の手順書を自動的にバックアップフォルダへ移動して欲しいという要望を受けました。
バックアップフォルダは共有していないので、管理者以外は見ることが出来ません。
発生している問題・分からないこと
IT関係者であれば「管理者が自分でバックアップフォルダへ移動してから最新版フォルダへアップロードすればいいじゃん。」というレベルですが「管理者が自分でバックアップフォルダへ移動してから最新版フォルダへアップロードする方法」という手順書を作るよりも良い案はありますか?
該当のソースコード
GAS
1function onFileChange(e) { 2 // 最新版フォルダとバックアップフォルダのIDを取得 3 const latestFolderId = "YOUR_LATEST_FOLDER_ID"; // 最新版フォルダのIDを置き換えてください 4 const backupFolderId = "YOUR_BACKUP_FOLDER_ID"; // バックアップフォルダのIDを置き換えてください 5 6 // トリガーされたファイルを取得 7 const file = e.file; 8 const fileName = file.getName(); // ファイル名を取得 9 10 // 最新版フォルダ内の同名ファイルを取得 11 const latestFolder = DriveApp.getFolderById(latestFolderId); 12 const files = latestFolder.getFilesByName(fileName); 13 14 // 同名ファイルが存在する場合 15 if (files.hasNext()) { 16 const backupFile = files.next(); // 同名ファイルを取得 17 backupFile.moveTo(DriveApp.getFolderById(backupFolderId)); // バックアップフォルダへ移動 18 } 19}
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他(Geminiに聞いた)
上記の詳細・結果
ファイルが更新されたときをトリガーにする方法がわからない
補足
特になし
貴方は管理者ではないのですよね?
管理者のアカウントで何かしらのスクリプトを動作させることは出来るのですか?
管理者です。
管理者のアカウントでスクリプトを動作させることは出来ます。
関係ないですが、もしも一人で複数のteratailアカウントを使用されているのなら利用規約違反になるので、おやめになったほうがいいと思います。
https://teratail.com/legal
第7条 (11) 複数のユーザーIDを1人で保有する行為
スクリプトを動作させることが出来るなら、1分間隔のトリガーで最新→バックアップとコピーするスクリプトを動作させればいいのではないですか?
コメントありがとうございます。⚪︎⚪︎を試したところ問題が解決しました!
ベストアンサーに選びたいので同じ内容を回答欄に投稿いただけますでしょうか?
解決おめでとうございます!
解決方法をまとめて、「自己解決」として回答してください!
同じように困っている人の貴重な情報になると思います。
コメントありがとうございます。⚪︎⚪︎を試したところ問題が解決しました!
ベストアンサーに選びたいので同じ内容を回答欄に投稿いただけますでしょうか?
解決おめでとうございます!
解決方法をまとめて、「自己解決」として回答してください!
同じように困っている人の貴重な情報になると思います。
回答1件
あなたの回答
tips
プレビュー