回答編集履歴

3

2024/12/08 07:40

投稿

YellowGreen
YellowGreen

スコア841

test CHANGED
@@ -10,7 +10,33 @@
10
10
  Eさんが特定のセルのチェックボックスをチェックすると
11
11
  質問者様の権限で関数Bが実行されます…
12
12
 
13
- 念の為、動作確認してみました
13
+ 念の為、下記のスクリプトで動作確認してみました
14
+ Aのみの編集権限を有するアカウントで
14
15
  エディタから実行すると権限エラーになりますが、
15
- チェックボックスのONなら権限エラーにならず実行されました
16
+ チェックボックスのONなら権限エラーにならずCの関数Dが実行されました
16
17
 
18
+ ```JavaScript
19
+ // スプレッドシートA:編集時トリガーで起動する関数
20
+ function onCellCheck(e) {
21
+ if (e) {
22
+ if (e.range.getA1Notation() === 'C3' &&
23
+ e.range.isChecked()) {
24
+ // C3セルがチェックされたら関数Bを実行
25
+ functionB('Aのトリガーで起動');
26
+ }
27
+ }
28
+ }
29
+
30
+ // スプレッドシートA:ライブラリを利用している関数B
31
+ function functionB(text) {
32
+ // ライブラリYellowGreenの中のfunctionDを実行
33
+ YellowGreen.functionD(text ?? 'Aのメニューから起動');
34
+ }
35
+
36
+ // スプレッドシートCの関数D
37
+ function functionD(text) {
38
+ const ss = SpreadsheetApp.openById('スプレッドシートCのID');
39
+ const sheet = ss.getActiveSheet();
40
+ sheet.getRange('A1').setValue(text ?? 'Cのメニューから実行');
41
+ }
42
+ ```

2

2024/12/08 06:41

投稿

YellowGreen
YellowGreen

スコア841

test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  例えば、
8
8
  特定のセルのチェックボックスのONで関数Bを実行するようにしておき
9
- 質問者様が設定した編集時のトリガーでその関数が起動するようにしておけば、
9
+ 質問者様がスプレッドシートAに設定した編集時のトリガーでその関数が起動するようにしておけば、
10
10
  Eさんが特定のセルのチェックボックスをチェックすると
11
11
  質問者様の権限で関数Bが実行されます…
12
12
 

1

誤字訂正

2024/12/08 06:39

投稿

YellowGreen
YellowGreen

スコア841

test CHANGED
@@ -12,5 +12,5 @@
12
12
 
13
13
  念の為、動作確認してみました
14
14
  エディタから実行すると権限エラーになりますが、
15
- チェックボックスのONなら顕現エラーにならず実行されました
15
+ チェックボックスのONなら権限エラーにならず実行されました
16
16