それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

Goole App Script ( GAS ) の基本的な操作方法。10.メニューに登録して実行

前回の続き

前回までで、一通り実行ができるようになったので、他人に使ってもらうためにメニューに追加して実行する方法を見ておく。

今回はメニュー

今回は、メニューから好きなタイミングで任意に、スクリプトを実行します。

メニューで実行

メニューに登録して、任意のタイミングで実行。

function addCustomMenu(){
 //メニューを追加
  let my_menu = new Array();
  my_menu.push({name:"ダミー", functionName: "menu_dummy"});
  let s = SpreadsheetApp.getActiveSpreadsheet().addMenu("!!サンプル", my_menu);
}

メニューになる。

この関数を実行すると、メニューが生成され、いつでもスクリプトを実行できる。

f:id:takuya_1st:20210604043437p:plain

起動後にメニューを生成

ドキュメントを開いたあとに、メニューを自動生成することもできる。

onOpen関数を定義すると、ドキュメントを開いた瞬間に実行される。onOpenは存在するだけで自動実行される。

function onOpen(){
    addCustomMenu();
}

メニューを追加(別の方法)

先の方法は、ショートカット的な方法で、メニューを作るのは、こっちがGAS的に正統方法だと思う。

function onOpen(){
  SpreadsheetApp.getUi().createMenu("!サンプル")
  .addItem('アイテム1', "func_name")
  .addItem('アイテム2', "func_name")
  .addSeparator()
  .addItem('アイテム3', "func_name")
  .addItem('アイテム4', "func_name")
  .addItem('アイテム5', "func_name")
  .addSeparator()
  .addSubMenu(
    SpreadsheetApp.getUi()
    .createMenu("アイテム6")
    .addItem('アイテム6-1', "func_name")
    .addItem('アイテム6-2', "func_name")
    .addItem('アイテム6-3', "func_name")
  )
  .addSeparator()
  .addItem('アイテム7', "func_name")
  .addToUi()

}

メニューの上書き

同じ名前で登録すると上書きされるので注意。

続く

長いので分割しました。

次回に続く→11