teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

エラーの詳細

2019/06/07 04:36

投稿

nassawa
nassawa

スコア14

title CHANGED
File without changes
body CHANGED
@@ -52,8 +52,11 @@
52
52
 
53
53
 
54
54
  ##出てくるエラー
55
- フォルダうち一部のフォルダの中身しか、こ後の動作をしくれせん
55
+ 取得できるスプレッドシートが、それぞれフォルダの中の1つだけになっいます
56
+ (実際には2つのスプレッドシートが用意されています)
56
57
 
58
+ 繰り返しの範囲がおかしいのかな、と思うのですが、どこに問題があるかさっぱりわからず・・・
57
59
 
58
60
 
61
+
59
62
  拙い質問すぎてお恥ずかしい限りですが、お教えいただける方いらっしゃいましたらお力お貸しください・・・。

2

文字の修正

2019/06/07 04:36

投稿

nassawa
nassawa

スコア14

title CHANGED
File without changes
body CHANGED
@@ -9,21 +9,20 @@
9
9
  ##実際に書いたコード
10
10
  ```GoogleAppsScript
11
11
  コード
12
+  
13
+ //データを取得するフォルダを開く
12
14
   function myFunction() {
13
- //データを取得する報告フォーマットを開くfunction myFunction() {
14
- //報告フォマットが入っているフォルダID
15
+ //ートが入っているフォルダID
15
- //var reportsFolder = DriveApp.getFolderById('1KYaSFLdJyD9h07awAP4dBIOV-PTVxT26');
16
+ var folder = DriveApp.getFolderById('ID');
16
- //var reportsFolders = reportsFolder.getFolders();
17
-
18
- var folder = DriveApp.getFolderById('1KYaSFLdJyD9h07awAP4dBIOV-PTVxT26'); // folderId
19
17
  var childFolders = folder.getFolders();
18
+
20
19
  while (childFolders.hasNext()) {
21
20
  var childFolder = childFolders.next();
22
21
  var reports = childFolder.getFiles();
23
22
 
24
23
 
25
24
 
26
-  //報告フォマットが入っているフォルダから全てのスプレッドシートを取得する
25
+  //ートが入っているフォルダから全てのスプレッドシートを取得する
27
26
  //var reports = reportsFolders.getFiles();
28
27
 
29
28
 
@@ -40,7 +39,7 @@
40
39
 
41
40
 
42
41
  //コピー先の指定(ID)
43
- var ss_copyTo = SpreadsheetApp.openById('1TIgHWYyaYE9hYzJqJx8onBba_DRNf6CzVDx5W3iRByE');
42
+ var ss_copyTo = SpreadsheetApp.openById('');
44
43
  var sheet_copyTo = ss_copyTo.getSheetByName('シート1');
45
44
  var lastRow = sheet_copyTo.getLastRow();
46
45
  var lastRow1 = lastRow + 1;

1

追記

2019/06/06 16:04

投稿

nassawa
nassawa

スコア14

title CHANGED
File without changes
body CHANGED
@@ -9,16 +9,51 @@
9
9
  ##実際に書いたコード
10
10
  ```GoogleAppsScript
11
11
  コード
12
+  function myFunction() {
13
+ //データを取得する報告フォーマットを開くfunction myFunction() {
14
+ //報告フォーマットが入っているフォルダID
15
+ //var reportsFolder = DriveApp.getFolderById('1KYaSFLdJyD9h07awAP4dBIOV-PTVxT26');
16
+ //var reportsFolders = reportsFolder.getFolders();
17
+
12
-   var folder = DriveApp.getFolderById('1KYaSFLdJyD9h07awAP4dBIOV-PTVxT26'); // folderId
18
+ var folder = DriveApp.getFolderById('1KYaSFLdJyD9h07awAP4dBIOV-PTVxT26'); // folderId
13
19
  var childFolders = folder.getFolders();
14
20
  while (childFolders.hasNext()) {
15
21
  var childFolder = childFolders.next();
16
22
  var reports = childFolder.getFiles();
23
+
24
+
25
+
17
- }
26
+  //報告フォーマットが入っているフォルダから全てのスプレッドシートを取得する
27
+ //var reports = reportsFolders.getFiles();
18
28
 
29
+
30
+
31
+ //フォルダに入っているスプレッドシートの数だけ繰り返し処理を行う
32
+ var report = reports.next();
33
+ var s = SpreadsheetApp.open(report).getSheets()[0];
34
+
35
+
36
+ //コピー範囲の指定
37
+ var lr = s.getLastRow();
38
+ var lc = s.getLastColumn();
39
+ var copyRange = s.getRange(2,1,lr,lc);
40
+
41
+
42
+ //コピー先の指定(ID)
43
+ var ss_copyTo = SpreadsheetApp.openById('1TIgHWYyaYE9hYzJqJx8onBba_DRNf6CzVDx5W3iRByE');
44
+ var sheet_copyTo = ss_copyTo.getSheetByName('シート1');
45
+ var lastRow = sheet_copyTo.getLastRow();
46
+ var lastRow1 = lastRow + 1;
47
+
48
+ //吐き出し
49
+ var copyValues = copyRange.getValues();
50
+ sheet_copyTo.getRange(lastRow1,1,lr,lc).setValues(copyValues);
19
- ```
51
+ }
52
+ }
53
+
54
+
20
55
  ##出てくるエラー
21
- フォルダのうち1つのフォルダの中身しか、この後の動作をしてくれません。
56
+ フォルダのうち一部のフォルダの中身しか、この後の動作をしてくれません。
22
57
 
23
58
 
24
59