2016年9月11日日曜日

Google Apps Script スプレッドシートから実行

健康管理のために毎食のカロリーを記録しています。
カロリー計算にはGoogleスプレッドシートに各食材のカロリー、グラム数、グラムあたりのカロリーを入力して計算させています。
このグラムあたりのカロリーを持ってくるのが一手間なんですよねぇ。始めの頃はネットで調べたり以前作ったカロリー表から持ってきていたのですが、このスプレッドシートへの記録も初めて3ヶ月、だいぶ情報が溜まってきました。
ということで、食材を入力すると過去のデータを検索して同名があれば自動でgあたりのカロリーを入力するマクロを作成しました。

前置きが長くなりましたがここからが本題です。

いざ出来上がったはいいのですが、このマクロを起動する方法を調べると、旧バージョンでは「スクリプトマネージャ」というものがあってそこから実行できたらしいのですが、新バージョンではこれがなくなり「スクリプトエディタ」を開いてそこから実行するしかないらしいのです…これではいくらなんでも使いにくすぎますよね。

何か方法はないかと調べてみると、スプレッドシートにメーニューを追加できる!おお!ここのメニューに自作関数を入れてやればできるじゃん!
function onOpen(){
  var spread = SpreadsheetApp.getActiveSpreadsheet();
  var menu = [];
  menu.push( {name: "myFunctionの実行", functionName: "myFunction"} );
  spread.addMenu( "マクロ", menu );
}
簡単!