質問編集履歴
4
試したことなど追記しました
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
|
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
|
41
|
+
var currentTime = Utilities.formatDate(new Date(), 'Asia/Tokyo', 'yy/MM/dd HH:mm');
|
20
42
|
|
21
|
-
|
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
|
-
|
47
|
+
if (sheet.getName() == "Check" && cell.getColumn() == 2 && cell.getRow() == 60) {
|
30
48
|
|
31
|
-
|
49
|
+
log.getRange(lastRow + 1, 1).setValue(val);
|
32
50
|
|
33
|
-
|
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
初心者マークに気づき、追加しました。
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
試したことなど追記しました
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
|
-
|
29
|
+
var targetRow = sheet_copyTo.getLastRow()+1;
|
30
|
+
|
31
|
+
sheet_copyTo.getRange('A'+targetRow).setValues(copyValue);
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
}
|
1
ファイル名など、細かいところを修正しました。
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
GASを使って、複数ファイルの共通シート・共通セル番地に入力される値を一覧で記録したい
|
1
|
+
GASを使って、複数ファイルの共通シート・共通セル番地に入力される値を一か所にまとめて一覧で記録したい
|
test
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
GASを使って、「
|
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あたりを使いそうだが、正解がわからずご教示ください。
|