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

回答編集履歴

3

2021/08/26 04:41

投稿

退会済みユーザー
answer CHANGED
@@ -43,7 +43,8 @@
43
43
  ~略~
44
44
  // ファイルが更新されているとき
45
45
  sheet.getRange(sheetData[key].rowNo, 2).setValue(lastUpdateMap[key].lastUpdate);
46
- sheet.getRange(sheetData[key].rowNo, 3).setValue(lastUpdateMap[key].fileId);
46
+ - sheet.getRange(sheetData[key].rowNo, 3).setValue(lastUpdateMap[key].fileId);
47
+ + sheet.getRange(sheetData[key].rowNo, 3).setValue(lastUpdateMap[key].fileName);
47
48
  - updateFolderMap.push({filename:key, lastUpdate:lastUpdateMap[key].lastUpdate, fileId:lastUpdateMap[key].fileId});
48
49
  + updateFolderMap.push({filename:lastUpdateMap[key].fileName, lastUpdate:lastUpdateMap[key].lastUpdate, fileId:key});
49
50
  }

2

追加

2021/08/26 04:41

投稿

退会済みユーザー
answer CHANGED
@@ -9,4 +9,54 @@
9
9
  lastUpdateMap[file.getId()] = {lastUpdate : file.getLastUpdated(), fileId: file.getId()};
10
10
  ```
11
11
  等とするべきではないでしょうか。
12
- (なお、この変更を行うならば、あわせて他の所も直す必要が出てくるとは思います)
12
+ (なお、この変更を行うならば、あわせて他の所も直す必要が出てくるとは思います)
13
+
14
+ ---
15
+ 直す例としては下記のようになるかもしれません。
16
+ (なお、下記のコードだとスプレッドシート上の表示は、
17
+ ファイル名->更新日時->ファイルID から
18
+ ファイルID->更新日時->ファイル名 という順番に変わります)
19
+
20
+ ```diff
21
+ function updateinvoiceCheck() {
22
+ ~略~
23
+ allFilesId.forEach(
24
+ function( value, i ){
25
+ let file =DriveApp.getFileById( value );
26
+ - lastUpdateMap[file.getName()] = {lastUpdate : file.getLastUpdated(), fileId: file.getId()};
27
+ + lastUpdateMap[file.getId()] = {lastUpdate : file.getLastUpdated(), fileName: file.getName()};
28
+
29
+ }
30
+ );
31
+
32
+ // スプレッドシートに記載されているフォルダ名と更新日時を取得
33
+ let spreadsheet = SpreadsheetApp.openById(UPDATE_SHEET_ID);
34
+ let sheet = spreadsheet.getSheetByName(UPDATE_SHEET_NAME);
35
+ //Logger.log(sheet)
36
+ let data = sheet.getDataRange().getValues();
37
+ //Logger.log('data: ' + data)
38
+
39
+ // 取得したデータをMapに変換する
40
+ ~略~
41
+ // フォルダの情報とスプレッドシート情報を比較する
42
+ let updateFolderMap = [];
43
+ ~略~
44
+ // ファイルが更新されているとき
45
+ sheet.getRange(sheetData[key].rowNo, 2).setValue(lastUpdateMap[key].lastUpdate);
46
+ sheet.getRange(sheetData[key].rowNo, 3).setValue(lastUpdateMap[key].fileId);
47
+ - updateFolderMap.push({filename:key, lastUpdate:lastUpdateMap[key].lastUpdate, fileId:lastUpdateMap[key].fileId});
48
+ + updateFolderMap.push({filename:lastUpdateMap[key].fileName, lastUpdate:lastUpdateMap[key].lastUpdate, fileId:key});
49
+ }
50
+ } else {
51
+ // ファイルがシートに存在しないとき
52
+ let newRow = sheet.getLastRow() + 1;
53
+ sheet.getRange(newRow, 1).setValue(key);
54
+ sheet.getRange(newRow, 2).setValue(lastUpdateMap[key].lastUpdate);
55
+ - sheet.getRange(newRow, 3).setValue(lastUpdateMap[key].fileId);
56
+ + sheet.getRange(newRow, 3).setValue(lastUpdateMap[key].fileName);
57
+ - updateFolderMap.push({filename:key, lastUpdate:lastUpdateMap[key].lastUpdate, fileId:lastUpdateMap[key].fileId});
58
+ + updateFolderMap.push({filename:lastUpdateMap[key].fileName, lastUpdate:lastUpdateMap[key].lastUpdate, fileId:key});
59
+ }
60
+ }
61
+ 以下略
62
+ ```

1

2021/08/26 04:37

投稿

退会済みユーザー
answer CHANGED
@@ -9,4 +9,4 @@
9
9
  lastUpdateMap[file.getId()] = {lastUpdate : file.getLastUpdated(), fileId: file.getId()};
10
10
  ```
11
11
  等とするべきではないでしょうか。
12
- (なお、この他の所もあわせて直す必要が出てくるとは思います)
12
+ (なお、この変更を行うならば、あわせて他の所も直す必要が出てくるとは思います)