Googleスプレッドシートにメニューを追加
2019-03-18
Googleスプレッドシート上でプログラム(スクリプト)を実行するためには、こちらで紹介したとおり、シート上に実行ボタンを作成します。
これ以外にもスプレッドシートのメニューバーからスクリプトを実行することができます。
今回は、Googleスプレッドシートにメニューを追加して、そこからスクリプトを実行する方法を紹介します。
今回作成するもの
メニューに「テスト」という追加メニューを追加し、ボタンを押すとメッセージが表示されるだけのものです。
スクリプトの紹介
今回作成するスクリプトはこちらです。
function onOpen(){ //メニュー配列 var myMenu=[ {name: "テスト1", functionName: "test1"}, {name: "テスト2", functionName: "test2"} ]; SpreadsheetApp.getActiveSpreadsheet().addMenu("テスト",myMenu); //メニューを追加 } function test1(){ Browser.msgBox("こんにちは") } function test2(){ Browser.msgBox("さようなら") }
ポイント
(1)スクリプト名「onOpen()」
スクリプト名をこの名前にすると、起動時に実行されます(Windowsのスタートアップみたいなもの?)。ただし、この中で実行する内容にGmailほか外部へのアクセス許可が必要なものがある場合には、実行されないようです。
メニューが表示されない場合には、こちらで紹介したトリガー機能で「onOpen」スクリプトを起動時に実行するように設定してください。
(2)addMenu
このスクリプトでは、「テスト」というメニューの中に「テスト1」「テスト2」というサブメニューが表示されます。
まとめ
今回は、Googleスプレッドシートにメニューを追加して、そこからスクリプトを実行する方法を紹介しました。こちらは、設定したファイルのどのシートからでもアクセスできるので、共通して使用するスクリプトでこちらに登録すると便利です。
いろいろお試しください。