GoogleAppsScript初心者です。
というか、プログラミング全般について勉強中のど素人です。
どなたか教えて頂けると助かります。
##実現したいこと
親フォルダの中の子フォルダから全てのスプレッドシートを取得したい。
IDを指定したフォルダの中に5つほどフォルダが入っていて、その中にそれぞれ複数のスプレッドシートが入っています。この全てのスプレッドシートを取得したいです。
##実際に書いたコード
GoogleAppsScript
1コード 2 3 //データを取得するフォルダを開く 4 function myFunction() { 5 //シートが入っているフォルダID 6 var folder = DriveApp.getFolderById('ID'); 7 var childFolders = folder.getFolders(); 8 9 while (childFolders.hasNext()) { 10 var childFolder = childFolders.next(); 11 var reports = childFolder.getFiles(); 12 13 14 15 //シートが入っているフォルダから全てのスプレッドシートを取得する 16 //var reports = reportsFolders.getFiles(); 17 18 19 20 //フォルダに入っているスプレッドシートの数だけ繰り返し処理を行う 21 var report = reports.next(); 22 var s = SpreadsheetApp.open(report).getSheets()[0]; 23 24 25 //コピー範囲の指定 26 var lr = s.getLastRow(); 27 var lc = s.getLastColumn(); 28 var copyRange = s.getRange(2,1,lr,lc); 29 30 31 //コピー先の指定(ID) 32 var ss_copyTo = SpreadsheetApp.openById(''); 33 var sheet_copyTo = ss_copyTo.getSheetByName('シート1'); 34 var lastRow = sheet_copyTo.getLastRow(); 35 var lastRow1 = lastRow + 1; 36 37 //吐き出し 38 var copyValues = copyRange.getValues(); 39 sheet_copyTo.getRange(lastRow1,1,lr,lc).setValues(copyValues); 40} 41 } 42 43 44##出てくるエラー 45 取得できるスプレッドシートが、それぞれの子フォルダの中の1つだけになってしまいます。 46(実際には2つのスプレッドシートが用意されています) 47 48繰り返しの範囲がおかしいのかな、と思うのですが、どこに問題があるかさっぱりわからず・・・ 49 50 51 52拙い質問すぎてお恥ずかしい限りですが、お教えいただける方いらっしゃいましたらお力お貸しください・・・。
回答2件
あなたの回答
tips
プレビュー