Google Apps Script でGdrive(Gドライブ)に複数の新規フォルダを作成する方法
はじめに、Google Apps Scriptとは?
Google Apps Scriptとは、Google社が提供するプログラミング言語のことです。
Google Apps Scriptというプログラミング言語を使い、同じくGoogle社が提供するGmailやGoogleスプレッドシート、Gドライブ、Googleドキュメントを操作することができます。Gmailや、Googleスプレッドシートを使ったことがある方には「Gmailやスプレッドシートは使ったことがあるけど、プログラミングと聞くとなんだか難しいそう」という印象を持たれるかもしれませんが、コツさえつかんでしまえば意外と簡単で、今まで手間だった仕事をボタンをクリックするだけに簡略化し、効率化することもできるのです。
Google Apps Scriptでは何が出来るか?
Google Apps Scriptで出来ることの代表例は下記の通りです。
・カスタムのメニュー、ダイアログ、サイドバーを Google ドキュメント、スプレッドシート、フォームに追加する。
・Google スプレッドシート用のカスタム関数を作成する。
・ウェブアプリを公開する(スタンドアロンまたは Google サイトへの埋め込み)。
・AdSense、アナリティクス、カレンダー、ドライブ、Gmail、マップなど、他の Google サービスと連携する。
・Google ドキュメント、スプレッドシート、スライド、フォームを拡張するアドオンを作成して、アドオンストアで公開する。
上記以外にもさまざまな用途がございますが、今回は、Google Apps Scriptを使用して、Gドライブに複数の新規フォルダを作成する方法をご紹介します。
※あらかじめGoogle Apps Scriptの基本的な使い方を熟知されてからの閲覧をお勧めいたします。
Google Apps Scriptを使用して、Gドライブに複数の新規フォルダを作成する方法
まずはスプレッドシートを開き、シートに新規フォルダを配置したいGドライブのフォルダIDを入力します。
フォルダIDは、Gドライブのフォルダを開いている状態で表示されるURLの末尾のことです。
※下記の画像の灰色部分がフォルダIDです。
同じくスプレッドシートに、新規作成するフォルダ名を複数入力します。
例として下記のように入力いたしました。※A4のセルにはフォルダIDを入力してください。
次に、メニューの「ツール」から「スクリプト エディタ」を開きましょう。
「スクリプト エディタ」を開くと、「コード.gas」が開いていますので、そこに下記のコードを入力してください。
function newFolders() {
//アクティブなスプレッドシートを取得
var spsheet = SpreadsheetApp.getActiveSpreadsheet();
spsheet.setActiveSheet(spsheet.getSheetByName(“シート1”));
var x = SpreadsheetApp.getActiveSheet();
//フォルダのIDを取得
var y = x.getRange(‘A4’);
var z = y.getValues();
var folder = DriveApp.getFolderById(z);
//最終行を取得
lastRow = x.getLastRow();
//for文による繰り返し①
for(var i = 7 ; i <= lastRow; i++){
var name = x.getRange(i,1);
var foldername = name.getValue();
folder.createFolder(foldername);
}
}
関数を選びスクリプトを実行すると、下記の画像のように新しくフォルダが作成されます。
また、「番号」と「名前」でフォルダ名を組み合わせたい場合や、すべてのフォルダの末尾に「フォルダ」と名前をつけたい場合は下記のようにスプレッドシートに行を増やしてそれぞれ「番号」と「名前」を入力します。
スクリプトコードは下記のように変更します。
function newFolders() {
//アクティブなスプレッドシートを取得
var spsheet = SpreadsheetApp.getActiveSpreadsheet();
spsheet.setActiveSheet(spsheet.getSheetByName(“シート1”));
var x = SpreadsheetApp.getActiveSheet();
//フォルダのIDを取得
var y = x.getRange(‘A4’);
var z = y.getValues();
var folder = DriveApp.getFolderById(z);
//最終行を取得
lastRow = x.getLastRow();
//for文による繰り返し①
for(var i = 7 ; i <= lastRow; i++){
var name1 = x.getRange(i,1);
var name2 = x.getRange(i, 2);
var foldername1 = name1.getValue();
var foldername2 = name2.getValue();
folder.createFolder( foldername1 +”_”+ foldername2 + “フォルダ” );
}
}
21行目の「folder.createFolder( foldername1 +”_”+ foldername2 + “フォルダ” );」の()内に共通して付けたい文字列を「+」を付けて2つの「”」(ダブルクォーテーション)で囲んで入力します。
スクリプトを実行した結果は下記画像の通りです。
まとめ
以上が、Gドライブで手動でフォルダを作成せずにスプレッドシートを用いて、Gドライブに一括でフォルダを作成する方法でした。1つ1つ手作業でも作業としては問題ないですが、これが10個ではなく100個200個・・・となっていくと作業が膨大となってしまい、時間が掛かってしまいます。
今回ご紹介した方法でGoogle Apps Script用いて、作業を楽にそして且つ効率性を高めてはいかがでしょうか。