回答編集履歴
2
gasよりjsのシンタックスハイライトの方がきれいなので変更した
answer
CHANGED
@@ -10,14 +10,14 @@
|
|
10
10
|
## 検証ポイント1
|
11
11
|
**カスタムメニューで指定する関数名がグローバルスコープから辿れる事**
|
12
12
|
辿れれば良いのでこんな感じの関数であれば…
|
13
|
-
```
|
13
|
+
```js
|
14
14
|
// 宣言
|
15
15
|
const hoge = {
|
16
16
|
fuga: function() { Browser.msgBox('hello'); };
|
17
17
|
}
|
18
18
|
```
|
19
19
|
こんな感じにドットで繋いでメニューアイテムを入れれば呼び出せる。
|
20
|
-
```
|
20
|
+
```js
|
21
21
|
// 呼び出しメニューアイテム
|
22
22
|
SpreadsheetApp.getActiveSpreadsheet().addMenu('シート名一覧', {[
|
23
23
|
name: (シート名),
|
@@ -31,7 +31,7 @@
|
|
31
31
|
onOpen後は、globalThis等に関数を追加してもメニューからは呼び出せませんでした。
|
32
32
|
下のようなコードで関数が定義されているかどうかをチェックしてたんですが、
|
33
33
|
追加処理をした関数内では生きているが、処理を抜けてしまうとglobalThisから消えてしまっていた。
|
34
|
-
```
|
34
|
+
```js
|
35
35
|
let msg = '';
|
36
36
|
Object.keys(globalThis).filter(key => typeof(globalThis[key] === 'function').forEach(key => {
|
37
37
|
if (msg) {
|
@@ -43,7 +43,7 @@
|
|
43
43
|
```
|
44
44
|
|
45
45
|
# 書いたコード
|
46
|
-
```
|
46
|
+
```js
|
47
47
|
const APP_ACTIVE = SpreadsheetApp.getActive();
|
48
48
|
const SHEETS = APP_ACTIVE.getSheets();
|
49
49
|
const test = (() => {
|
1
日本語が変!
answer
CHANGED
@@ -29,6 +29,7 @@
|
|
29
29
|
**グローバルスコープに関数を追加するが、初期化タイミングで追加しておく必要がある**
|
30
30
|
私が検証した範疇ではonOpenより前。
|
31
31
|
onOpen後は、globalThis等に関数を追加してもメニューからは呼び出せませんでした。
|
32
|
+
下のようなコードで関数が定義されているかどうかをチェックしてたんですが、
|
32
33
|
追加処理をした関数内では生きているが、処理を抜けてしまうとglobalThisから消えてしまっていた。
|
33
34
|
```gas
|
34
35
|
let msg = '';
|