今回はGoogle Apps Scriptを使ってGoogleドライブ上に新規フォルダを作成するcreateFolder()メソッドをご紹介しようと思います。
本記事では、createFolderがどのような挙動をするのかをイメージしやすくするために、簡単なウェブアプリを通して挙動を確認できるようにしてあります。
Googleドライブ上に新規フォルダを作成する— createFolder()
今回のメソッドでは、ドライブ上に新規フォルダを作成するやり方をサンプルコードを用いてご紹介します。今回のメソッドも他のフォルダ/ファイルの操作を行うメソッドと同じようにDriveApp.createFolder()とFolder.createFolder()という2つの使い方があります。他のメソッドと同様にDriveAppに対して使用するときにはフォルダを指定せずに新規フォルダ作成を実行します。この場合はマイドライブ直下に新規フォルダが保存されます。一方でFolderクラスに対して処理を行う場合は指定したフォルダの直下に新規フォルダを作成します。
実際の挙動が確認できるようにWEBアプリ形式で処理を実行できるようにしておきました。
WEBアプリ形式の実演URL:https://script.google.com/macros/s/AKfycbwyl_2a6E5oAsqEyxQXpjbcSIeKzPrbZ4e2GpLt/exec
『ファイルを作成する』ボタンをクリックするとテキストフィールドに記載してある住所や座標、地名を中心としたGoogleの地図画像を作成してドライブに保存するプログラムを作成しました。クリックすると、
確認ダイアログが表示されますので、『作成する』をクリックします。ローダーが表示された後、無事画像がドライブに保存されると、
無事ファイルが作成されていることが確認できます。今回ご紹介するcreateFileを利用すると、このように簡単に新しいファイルをGoogleドライブ上に作成することができます。マップ画像を作成するコードは公式リファレンスから拝借致しました。Googleの場合は、日本語でも英語でも自動的に認識してほしい画像を表示してくれるのがいいですね。
こんな感じで操作をする感じです。動画も撮影してみたので、GIF動画化したイメージも貼り付けておきます。
上記の動画では、左半分にGoogleドライブのフォルダを表示させて、右半分にWEBアプリの操作画面を表示させています。プログラムによってフォルダが自動的に作成されるところが確認できますので、どのようにプログラムが処理されているのかよくわかります。このように2つの画面を開いて動作を確認しながらコーディングを進めると楽しくなってくるのは私だけでしょうか。
さて、ここからは、実際のコードの使い方説明に入りたいと思います。
-
-
-
『 引数に入れる値 』
createFolder(name) —マイドライブ直下保存バージョン
サンプルコード1//マイドライブに新規フォルダを作成するプログラム function sampleCodeForDriveAppCreateFolder1() { var name = "新規フォルダ"; DriveApp.createFolder(name); }
『 変数の説明 』
name = マイドライブに作成するフォルダ名
スクリプトができたら▶ボタンでプログラムを実行してみましょう。実行が完了したら、マイドライブを確認して『新規フォルダ』という名前のフォルダが作成されているかを確認してみてください。今回はフォルダを指定していないので、作成するフォルダはマイドライブに保存されます。指定のフォルダにフォルダを作成したい場合は、まず下記コードのように最初にフォルダを取得してから、取得したフォルダに対してcreateFolderを実行すれば実現できます。
-
createFolder(name) —指定フォルダ保存バージョン
サンプルコード2//指定フォルダに新規フォルダを作成するプログラム function sampleCodeForDriveAppCreateFolder2() { var folder = DriveApp.getFolderById(""); var name = "新規フォルダ"; folder.createFolder(name); }
『 変数の説明 』
folder = 保存先フォルダを指定
name = 指定フォルダに作成するフォルダ名まとめ
今回のページで、新規フォルダをマイドライブ直下に保存する方法と、指定のフォルダに作成する方法を覚えました。これで自由自在にフォルダを操ることができるようになりました。今回のようにWEBアプリ化したりすることで、オリジナルの操作画面を作成することができますが、手動で行うほぼ全ての動作をプログラムに置き換えることができますので、実際のドライブを操作させたり見せずに処理を完了させることも簡単にできてしまいます。みなさんもぜひWEBアプリを作ってみてくださいね。
-
-
コメント