GASで別のシートを取得する様々な方法
フォルダ名で指定:getFoldersByName()
メソッドを使用する
var folderName = "フォルダ名";
var parentFolder = DriveApp.getFolderById("親フォルダのID");
var folder = parentFolder.getFoldersByName(folderName).next();
フォルダIDで指定:getFolderById()
メソッドを使用する
var folderId = "フォルダID";
var folder = DriveApp.getFolderById(folderId);
フォルダパスで指定:getFolders()
メソッドを使用する
var folderPath = "/フォルダ1/フォルダ2/フォルダ3";
var folders = folderPath.split("/");
var folder = DriveApp.getRootFolder();
for (var i = 0; i < folders.length; i++) {
if (folders[i] !== "") {
var subFolders = folder.getFoldersByName(folders[i]);
if (subFolders.hasNext()) {
folder = subFolders.next();
} else {
folder = null;
break;
}
}
}
split()
メソッドを使用して、フォルダパスを /
で区切って配列に変換
- ルートフォルダを取得しています。その後、配列の各要素に対して、
getFoldersByName()
メソッドを使用して、フォルダを取得
- 取得したフォルダが存在する場合は、そのフォルダを次のルートフォルダに設定し、存在しない場合は、ループを抜けています
- 最終的に、フォルダが見つかった場合は、変数
folder
にそのフォルダが設定
コメント