回答編集履歴
1
別な書き方を加えました
test
CHANGED
@@ -35,7 +35,7 @@
|
|
35
35
|
```js
|
36
36
|
// この関数をシートの「編集時」のトリガーに設定していることが前提
|
37
37
|
function myFunction(e) {
|
38
|
-
// シートに
|
38
|
+
// シートにCSVを貼り付けるなどセルの編集があったか確認
|
39
39
|
if (e) { // トリガー起動のとき
|
40
40
|
if (e.range.getSheet().getName() === 'シート2') { // シート2が編集されたとき
|
41
41
|
// シート1のA1セルに更新時の日時を記入
|
@@ -49,3 +49,29 @@
|
|
49
49
|
}
|
50
50
|
}
|
51
51
|
```
|
52
|
+
|
53
|
+
可能な限りの再利用ということでしたが、
|
54
|
+
実際には、トリガーを設定せずに(削除した上で)、
|
55
|
+
関数名を変更して
|
56
|
+
function myFunction(e) {
|
57
|
+
を
|
58
|
+
function onEdit(e) {
|
59
|
+
とすることでもセルの編集時に起動するようになります。
|
60
|
+
例えば次のように書くことができます。
|
61
|
+
```js
|
62
|
+
// この関数はトリガーを設定する必要がない(関数名が簡易なトリガー)
|
63
|
+
function onEdit(e) {
|
64
|
+
// シートにCSVを貼り付けるなどセルの編集があったか確認
|
65
|
+
if (e) { // 簡易なトリガー起動のとき
|
66
|
+
if (e.range.getSheet().getName() === 'シート2') { // シート2が編集されたとき
|
67
|
+
// シート1のA1セルに更新時の日時を記入
|
68
|
+
e.source // 編集されたセルを含むスプレッドシート全体を受け取る
|
69
|
+
.getSheetByName('シート1') // シート1という名前のシートを取得
|
70
|
+
.getRange('A1')
|
71
|
+
.setValue(
|
72
|
+
'更新: ' + Utilities.formatDate(new Date(), 'JST', 'MM/dd HH:mm')
|
73
|
+
)
|
74
|
+
}
|
75
|
+
}
|
76
|
+
}
|
77
|
+
```
|