Googleサービス PR

【保存版】GASでスプレッドシートのメニューをカスタマイズ!!

記事内に商品プロモーションを含む場合があります

仕事もプライベートも効率化

自動化にハマる

Google Apps Script(GAS)を学びはじめて、仕事にプライベートにいろいろ効率化を図ることに楽しみを覚えてきたところであります。



スプレッドシートで作業するものをGASを利用して自動化するのにハマっています。スクリプト実行をクリックひとつで発動できるようになります。こちらの記事では、カスタムメニューの作り方をまとめました。

スプレッドシートで使いたいスクリプトを準備

スクリプトを学ぶと効率があがる
  • スプレッドシート⇒PDF出力
  • 計算結果出力
  • データ複製
  • ・・etc

スプレッドシートにGASを組み込んで効率化を図ってきた一部の例えです。これをクリック一つでカンタンに発動させれるようにできます。



メニューをカスタムしても実行したいスクリプトがないと使えないので、カスタムメニューを作成する前に、各自スプレッドシートで使いたいスクリプトを準備しましょう。



今回は、小学1年生の息子に地図をみる練習として、グーグルマップから経路図を出すスクリプトをつくってみたのでそちらにスクリプト実行メニューを追加したいとおもいます。

パソコンで地図の勉強

  • STEP1
    デフォルトメニュー
    スクリプトでメニューを追加する前は下図のようなデフォルトメニューになっています。

    sheets-デフォルトメニュー

  • STEP2
    Apps Scriptをひらく
    メニューバーにある【拡張機能】からApps Scriptをひらきます。

    Apps Scriptのコードをかく

  • STEP3
    コード貼り付け
    こちらのコードを貼りつけてください。こちらのコードをベースにスクリプトが実行されるように書き換えが必要な個所があります。

    function Custom_menu() {
      let ui = SpreadsheetApp.getUi()
      
      //メニュー名は自由に入れてください
      let menu = ui.createMenu("メニュー名");
      
      //メニューに実行ボタン名と関数を割り当て
      menu.addItem("ボタン名","スクリプト名");
      
      //スプレッドシートに反映
      menu.addToUi();
    }

  • STEP4
    メニューバーに追加
    スクリプトを実行したら、実際にメニューバーに追加されているか確認しましょう。

    メニューバーに追加される

  • STEP5
    サブメニューの追加コード
    あまり下層に追加するのは好みじゃないので今回は実装してないですが、サブメニューで追加することも可能です。

    function Custom_menu() {
      let ui = SpreadsheetApp.getUi()
      
      //メニュー名は自由に入れてください
      let menu = ui.createMenu("メニュー名");
      
      //メニューに実行ボタン名と関数を割り当て
      menu.addItem("ボタン名","スクリプト名");
      //追加はmenu.addItem("スクリプト名","スクリプト名");を増やすだけ
      //追加はmenu.addItem("スクリプト名2","スクリプト名2");
    
      //紐づけてメニューバーを作りたい場合
      .addSeparator()  //セパレーター
      .addSubMenu(ui.createMenu('サブメニュー') 
       .addItem('サブメニューボタン名', 'スクリプト名3')
       //サブメニューアイテムを追加
       .addItem('サブメニューアイテム2', 'スクリプト名4')
       //追加はmenu.addItem同様
      );
    
      //スプレッドシートに反映
      menu.addToUi();
    }

  • STEP6
    サブメニューの確認
    カスタムメニューの下層にサブメニューが表示されるか確認しましょう。

    サブメニューの作成も可能

まとめ:プロっぽい

図形にスクリプトを組み込むケースもあるけど・・・

スプレッドシート内に図形を作成して、その図形にスクリプトを組み込んでボタンとしているマニュアルもあります。



図形を使うよりメニューバーに設けたほうがプロっぽくないでしょうか、個人的にはメニューバーからスクリプト実行させたほうが好みです。以上、こっちのほうがそれっぽくない?という話でした。


\アドセンス、収益確認もGASで効率化/

【ログイン不要】Google Adsense ~自動通知にしてみた~ Adsebse 収益確認の自動化 アドセンス合格してから半年が経過しました。せっかく情報発信するなら、ためになった分収益も出ると...