見出し画像

【コピペでできる】スクリプトの起動をプロジェクトエディター以外から行う2つの方法【Googleスプレッドシート】【GAS】【関数】

スクリプトを起動するまず最初の方法はプロジェクトエディターの実行ボタンです。そして、自動化するための時間設定などもできる「トリガー」という機能もあります。
今回は、単純にスプレッドシートからエディターを開くことなく手作業でスクリプトを起動させる方法を二つご案内します
・図形への割り当て
・カスタムメニューの作成
です。
これができると、なんとなく階段を昇れた気がしますので、習得してみてください。

スクリプトを準備する

なんでもいいので、起動させるプロジェクトを準備します。
セル 「A1」「B1」の値を足し算して「C3」に返すというスクリプトを作ります。
getRange,getValue,setValueで作れます。
こちらの記事もご参考にどうぞ。

function myFunction() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var value1 = sheet.getRange(1,1).getValue();
  var value2 = sheet.getRange(1,2).getValue();
  sheet.getRange(1,3).setValue(value1+value2);
}

コードはこちらです。

図形へスクリプトを割り当てる

こちらの方法の場合、もうエディターに戻る必要はありません。

割り当てる図形を作成する

スプレッドシートの場合、スライドと違い図形の作成は得意分野ではありませんが、最低限作成ができます。画像に割り当てることもできるので、おしゃれなものを作りたいときはそちらの手段も検討ください。
図形作成の手順です。
メニューの「挿入」→「図形描画」をクリックするとエディターが表示されます。ここで、スライド同様の操作が可能ですので、図形を作成しましょう。例として、こんな感じで作ってみました。保存して終了すると、スプレッドシートに戻ります。

さて、スプレッド上にさきほど図形描画で作成した図形が表示されているともいます。図形の準備はできました。

スクリプトを割り当てる画面を表示させる

以下の手順です。
1.右クリックでアクティブにする
  (左クリックでは、いまのところ何も反応しません。)
2.「右上スミにある3つの●」のところで、左クリックをおす。
3.画面の選択肢から、「スクリプトを割り当て」を選択する

スクリプトを割り当てる

先ほど作成した「myFunction」を入力しましょう。「確定」で、割り当て完了です。

結果検証

うまく作動しました!!

以上で完成です。「A1」「B1」を変更して正しく動作するか試してみてください。最後に1点補足です。スクリプトを変更したりするときです。

図形を右クリックすれば、編集がアクティブになります。

右クリックしてはじめて、「右上スミにある3つの●」が表示されます。注意してください。ぼーっと「左クリック」してしまうと、スクリプトが走ります。事故になるようなスクリプトを割り当てていたら注意が必要です。

カスタムメニューの作成

つづきまして、カスタムメニューの追加です。もともと項目として表示されている、「拡張機能」につかすることもできますが、こちらのほうがシンプルです。

スクリプトにこれを入れるだけ

function onOpen() {
SpreadsheetApp.getUi()
.createMenu('独自メニュー')
.addItem('A1+B1', 'myFunction')
.addToUi();
}

完成!

解説がいらないくらい、定型です。使いまわし簡単です。

function onOpen() {
SpreadsheetApp.getUi()
.createMenu('【ヘルプの横に表示したいテキスト】')
.addItem('【リストに表示されるテキスト】', '【割り当てたいスクリプト】')
.addToUi();
}
となりますね。

onOpen()

この関数の役割は、「スプレッドシートを開いたときに起動する」となります。
ほかにも役立つかもしれないですね。

まとめ

今回のシートです。

開発者ならエディターから作業するのも苦ではないですけど、ユーザーや利便性を考えるとこの二つのツールは役に立つシーンが多そうですね。ちょっとしたことで業務の効率があがったり、慣れてないユーザーのミスが減ったりに役立ちます。
「こんなことにも使えそう」など、アイデアがありましたらお教えください。以上です。

図形にスクリプトを割り当てた事例です。よろしければご参考ください。


どんな記事ならサポートしてみようと思えるか、ご要望ありましたら教えてくださいね。