背景
弊社はグループウェアとしてGoogleWorkSpace(旧GSuite)を導入しています。
半期に一度行われる社員総会で全社員対象のワークをおこなったりするんですが、その際に事前に資料の準備をしてもらってます。
Googleドライブの特定のフォルダにファイルを提出してもらうんですが
誰が提出し終わってるのかリアルタイムで把握できるようにしたいのが悩みですよね(少し無理やりwww)
ないなら、どうする? そう! 作っちゃおう!
やったこと
- 特定のフォルダに格納されているファイルの一覧取得
- ファイル情報の取得
- ファイル開いた時に操作メニューを表示する(おまけ)
特定のフォルダに格納されているファイルの一覧取得
フォルダIDはURLの一番最後の部分になります。
https://drive.google.com/drive/folders/{ここ}
var folderId = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
// フォルダ内ファイル一覧取得
var folder = DriveApp.getFolderById(folderId);
var files = folder.getFiles();
ファイル情報の取得
今回はファイル名とオーナーを取得します。
//ファイル名
var fileName = file.getName()
//ファイルのオーナー(メールアドレス)
var fileOwnerEmail = file.getOwner().getEmail();
ファイル開いた時に操作メニューを表示する(おまけ)
スプレッドシートのメニュー一覧にタブボタンを表示します。
//メニューを追加するスプレッドシートの指定
var sheet = SpreadsheetApp.getActiveSpreadsheet();
//name:メニュー名、functionName:押下時に実行するメソッド
var entries = [
{ name: "ファイル一覧取得実行", functionName: "main" }
];
//第一引数:タブ表示の文言、第二引数:押下時に表示されるメニュー
sheet.addMenu("ファイル一覧取得", entries);
最後に
GASでめんどくさいを自動化してハッピーライフ✨