スプレッドシートを基にGASで一気にGoogleドライブにフォルダ構造を作成する
はじめに
こんにちは。最近、実家の畑を勝手に荒らすおじさんがいるそうで、警察に通報しました。ロープはったり立ち入り禁止の札貼ったり、これで来なくなればいいのですが...
さて、今回はスプレッドシートに記載のフォルダの階層構造を基に、Googleドライブにフォルダ作成する機会があったので、せっかくなので記事にしました。
何かプロジェクト前とか、整理整頓したいぞって方いらっしゃいましたら、参考になれば幸いです
手順
- ルートフォルダ作成.
- 階層構造をスプレッドシートで作成.
- GASで1のスプレッドシートの情報取得.
- ルートフォルダを取得.
- スプレッドシートに記載のフォルダが空欄の場合はスキップ.
- 作成対象フォルダが既に作成済みの場合は当該フォルダをルートフォルダに切り替えてスキップ.
- 6に該当しない場合は指定フォルダ名でフォルダ作成.
- 4-7を繰り返し.
スプレッドシートを基にGASで一気にGoogleドライブにフォルダ構造を作成する
1. ルートフォルダ作成
1. ルートフォルダ作成
こんな感じです↓
URLに含まれるfolder_idをスクリプトで使います
2. スプレッドシート作成
3. スクリプト作成
スプレッドシートに紐づくスクリプトで作成しちゃいます。
4. 実スクリプト
const main = () => {
const sheet = SpreadsheetApp.getActiveSheet()
const data = sheet.getRange(2, 2, sheet.getLastRow() - 1, sheet.getLastColumn() - 1).getValues()
const folder_id_root = 'xxxx'
const folder_root = DriveApp.getFolderById(folder_id_root)
let row, folder_name, folders, folder
for (let i in data) {
row = data[i]
// 手順4
folder = folder_root
for (let j in row) {
folder_name = row[j]
if (! folder_name) {
// 手順5
continue
}
folders = folder.getFoldersByName(folder_name)
if (folders.hasNext()) {
// 手順6
folder = folders.next()
continue
}
// 手順7
folder = folder.createFolder(folder_name)
}
}
}
5. 実行結果
こんな感じでできました!
おわりに
今回は年月で作りましたが、長期プロジェクト等々で一気に作りたいなんてときにお役立てくださいませ
それでは!
Author And Source
この問題について(スプレッドシートを基にGASで一気にGoogleドライブにフォルダ構造を作成する), 我々は、より多くの情報をここで見つけました https://qiita.com/akitkat/items/a103329ce7d113ea9fec著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .