質問編集履歴

4

試したことなど追記しました

2020/07/08 06:00

投稿

Ryoun
Ryoun

スコア2

test CHANGED
File without changes
test CHANGED
@@ -4,36 +4,60 @@
4
4
 
5
5
 
6
6
 
7
- 追記>ひとまず下記のコードからスタートしていますが、早速「Exception: SpreadsheetApp.openById を呼び出す権限がありません」のエラーが発生して困っています。
7
+ ~~追記>ひとまず下記のコードからスタートしていますが、早速「Exception: SpreadsheetApp.openById を呼び出す権限がありません」のエラーが発生して困っています。
8
8
 
9
- なお、下記コードではまだ日にち時刻については組み込んでいません。
9
+ なお、下記コードではまだ日にち時刻については組み込んでいません。~~
10
+
11
+
12
+
13
+ 追記>下記コードで、「Check」シートのあるファイル1上で「log」シートを追加することで上記は実現。
14
+
15
+ しかし、var ss = SpreadsheetApp.openById("ファイル0のスプレッドシートキー");
16
+
17
+ で別ファイルに値を入力しようとしても動かない。
10
18
 
11
19
 
12
20
 
13
21
 
14
22
 
15
- function myFunction() {
23
+ function onEdit(e) { 
24
+
25
+ var sheet = e.source.getActiveSheet(); // 編集のあったシート  
26
+
27
+ var cell = e.source.getActiveRange(); // 編集したセル
28
+
29
+ var val = sheet.getRange('B60').getValue();
30
+
31
+
32
+
33
+ var ss = SpreadsheetApp.getActiveSpreadsheet();
34
+
35
+ var log = ss.getSheetByName("log");
36
+
37
+ var lastRow = log.getLastRow();
16
38
 
17
39
 
18
40
 
19
- var ss_copyFrom = SpreadsheetApp.getActiveSpreadsheet();
41
+ var currentTime = Utilities.formatDate(new Date(), 'Asia/Tokyo', 'yy/MM/dd HH:mm');
20
42
 
21
- var ss_copyTo = SpreadsheetApp.openById('コピー先ファイルのキー');
43
+
22
-
23
- var sheet_copyFrom = ss_copyFrom.getSheetByName('Check');
24
-
25
- var sheet_copyTo = ss_copyTo.getSheetByName('log');
26
44
 
27
45
 
28
46
 
29
- var copyValue = sheet_copyFrom.getRange('B60').getValues();
47
+ if (sheet.getName() == "Check" && cell.getColumn() == 2 && cell.getRow() == 60) {
30
48
 
31
- var targetRow = sheet_copyTo.getLastRow()+1;
49
+ log.getRange(lastRow + 1, 1).setValue(val);
32
50
 
33
- sheet_copyTo.getRange('A'+targetRow).setValues(copyValue);
51
+ //
34
52
 
53
+ // ..
35
54
 
55
+ }
36
56
 
57
+ if (sheet.getName() == "Check" && cell.getColumn() == 2 && cell.getRow() == 60) {
37
58
 
59
+  log.getRange(lastRow + 1, 2).setValue(currentTime);
60
+
61
+ }
38
62
 
39
63
  }

3

初心者マークに気づき、追加しました。

2020/07/08 06:00

投稿

Ryoun
Ryoun

スコア2

test CHANGED
File without changes
test CHANGED
@@ -7,6 +7,8 @@
7
7
  追記>ひとまず下記のコードからスタートしていますが、早速「Exception: SpreadsheetApp.openById を呼び出す権限がありません」のエラーが発生して困っています。
8
8
 
9
9
  なお、下記コードではまだ日にち時刻については組み込んでいません。
10
+
11
+
10
12
 
11
13
 
12
14
 

2

試したことなど追記しました

2020/07/03 11:12

投稿

Ryoun
Ryoun

スコア2

test CHANGED
File without changes
test CHANGED
@@ -2,4 +2,36 @@
2
2
 
3
3
  B60に記録される値は各ファイルごとにそれぞれ都度書き換えられるが、そのすべてについて書き換えられた時間と値をファイル0のlogシートに、一覧で時系列順に記録したい。
4
4
 
5
+
6
+
7
+ 追記>ひとまず下記のコードからスタートしていますが、早速「Exception: SpreadsheetApp.openById を呼び出す権限がありません」のエラーが発生して困っています。
8
+
9
+ なお、下記コードではまだ日にち時刻については組み込んでいません。
10
+
11
+
12
+
13
+ function myFunction() {
14
+
15
+
16
+
17
+ var ss_copyFrom = SpreadsheetApp.getActiveSpreadsheet();
18
+
19
+ var ss_copyTo = SpreadsheetApp.openById('コピー先ファイルのキー');
20
+
21
+ var sheet_copyFrom = ss_copyFrom.getSheetByName('Check');
22
+
23
+ var sheet_copyTo = ss_copyTo.getSheetByName('log');
24
+
25
+
26
+
27
+ var copyValue = sheet_copyFrom.getRange('B60').getValues();
28
+
5
- console logあたりを使いそうだが、正解がわからずご教示ください。
29
+ var targetRow = sheet_copyTo.getLastRow()+1;
30
+
31
+ sheet_copyTo.getRange('A'+targetRow).setValues(copyValue);
32
+
33
+
34
+
35
+
36
+
37
+ }

1

ファイル名など、細かいところを修正しました。

2020/07/03 08:23

投稿

Ryoun
Ryoun

スコア2

test CHANGED
@@ -1 +1 @@
1
- GASを使って、複数ファイルの共通シート・共通セル番地に入力される値を一覧で記録したい
1
+ GASを使って、複数ファイルの共通シート・共通セル番地に入力される値を一か所にまとめて一覧で記録したい
test CHANGED
@@ -1,5 +1,5 @@
1
- GASを使って、「」「」「」「」「」など複数のファイルのそれぞれに共通して存在する「check」というシートのB60のセルに入力された値を、「か」ファイルの任意のシートに一覧で記録したい。
1
+ GASを使って、「ファイル1」「ファイル2」「ファイル3」「ファイル4」「ファイル5」など複数のファイルのそれぞれに共通して存在する「Check」というシートのB60のセルに入力された値を、「ファイル0」「log」シートに一覧で記録したい。
2
2
 
3
- B60に記録される値はそれぞれ都度書き換えられるが、そのすべてについて書き換えられた時間と値を一覧で記録したい。順番はこだわらない。
3
+ B60に記録される値は各ファイルごとにそれぞれ都度書き換えられるが、そのすべてについて書き換えられた時間と値をファイル0のlogシートに、一覧で時系列順に記録したい。
4
4
 
5
- console logあたりを使いそうだが、ネットでは見つけ切れずご教示ください。
5
+ console logあたりを使いそうだが、正解がわからずご教示ください。