前提
現在Google Apps Scriptで複数のフォルダへ同時に複数のドキュメントを作成するプログラムを作成しようとしています。
コードの知識がほとんどなく、独学の継ぎ接ぎで作ったプログラムなので無駄や間違いしかないかもしれませんが、アドバイスをいただけないでしょうか?
実現したいこと
「①フォルダパス」に作成したいフォルダURLを貼り付け
「②作成したいドキュメント名」の下に作成したいドキュメントの名前を記入
「③ドキュメント作成」を押したら①のURL内のすべてのフォルダ内に②で記入した名前のドキュメントを追加する
発生している問題・エラーメッセージ
Exception: DriveApp オブジェクトでの getFolderById メソッドまたはプロパティの取得中に予期しないエラーが発生しました。
該当のソースコード
function createFolders3() { //プログラム1|スプレッドシートの情報を取得する var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); var sheetname = 'ドキュメント追加作成'; var sheet = spreadsheet.getSheetByName(sheetname); //プログラム2|フォルダパスの情報を取得する var folderurl = sheet.getRange('B1').getValue(); //プログラム3|フォルダパスの情報を取得する var myArray= folderurl.split('/'); var folderid = myArray[myArray.length-1]; //プログラム4|作成したいフォルダ名を取得する let Lastrow = sheet.getLastRow(); let myRange = sheet.getRange(4, 1, Lastrow - 3).getValues(); //プログラム5|対象フォルダにあるすべてのフォルダを取得する let target = DriveApp.getFolderById(folderid); let folders = target.getFolders(); while (folders.hasNext()) { let folder = folders.next(); let folderName = folder.getName(); myRange.forEach((v) => { v.forEach((vv) => { //プログラム6|フォルダを作成する var folder = DriveApp.getFolderById("folderId"); var doc = DocumentApp.create("doc name"); var docFile = DriveApp.getFileById(doc.getId()); folder.addFile(docFile); }) }) console.log(folderName); } }
試したこと
プログラム5まではフォルダの一括作成で使っていることもあり動作するので、プログラム6をいろいろいじってみたのですがうまく動作しませんでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/07/27 06:03