teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

gasよりjsのシンタックスハイライトの方がきれいなので変更した

2021/01/31 12:03

投稿

退会済みユーザー
answer CHANGED
@@ -10,14 +10,14 @@
10
10
  ## 検証ポイント1
11
11
  **カスタムメニューで指定する関数名がグローバルスコープから辿れる事**
12
12
  辿れれば良いのでこんな感じの関数であれば…
13
- ```gas
13
+ ```js
14
14
  // 宣言
15
15
  const hoge = {
16
16
  fuga: function() { Browser.msgBox('hello'); };
17
17
  }
18
18
  ```
19
19
  こんな感じにドットで繋いでメニューアイテムを入れれば呼び出せる。
20
- ```gas
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
- ```gas
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
- ```gas
46
+ ```js
47
47
  const APP_ACTIVE = SpreadsheetApp.getActive();
48
48
  const SHEETS = APP_ACTIVE.getSheets();
49
49
  const test = (() => {

1

日本語が変!

2021/01/31 12:03

投稿

退会済みユーザー
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 = '';