1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

スプレッドシートにカスタムメニューを作成してGAS実行を効率化する方法

Last updated at Posted at 2024-12-28

はじめに

※本記事は、GAS(Google Apps Script)やバッチファイルを使って、バックオフィス周りの業務効率化、業務改善を実施している非エンジニアによる記事です。

作成したGASを実行する際、スクリプトエディタから実行するのは少々手間がかかります。

image.png

この記事では、カスタムメニューをスプレッドシート上に作成し、シートからワンクリックでスクリプト実行できる方法を紹介します。


実践するスクリプトの概要

  1. Googleスプレッドシートにカスタムメニューを作成。
  2. 実行したいスクリプトをメニューから実行可能にする。

image.png


コードの全体像

メニューから呼び出すGASは、こちらの記事で紹介したものにします。
※作成したメニューから**「PDFを取得してURL化する」**という処理を実行できる構成になっています。

コード

// メニューを作成
function onOpen() {
  var ui = SpreadsheetApp.getUi();  // UIを取得する
  var menu = ui.createMenu("スクリプト実行"); // カスタムメニューを作成
  menu.addItem("PDFを取得してURL化する", "getPdfFromGmail"); // メニューアイテムを追加
  menu.addToUi(); // メニューをUIに追加
}

スクリプトの機能解説

1. カスタムメニューを作成する仕組み

  • onOpen関数:
    Googleスプレッドシートを開いた際に実行されるトリガーです。メニューの作成はこの関数内で行います。

  • SpreadsheetApp.getUi:
    ユーザーインターフェイスを取得するメソッドです。このオブジェクトを通じて、メニューバーの操作が可能になります。

  • menu.addItem:
    メニューにアイテム(選択肢)を追加します。第一引数がメニューに表示される名前、第二引数が実行される関数名です。

  • menu.addToUi:
    作成したメニューをスプレッドシートのメニューバーに追加します。

2. スクリプトを実行する仕組み

getPdfFromGmail関数には、PDF取得や処理を行うスクリプトの実装を記述します。
この関数をメニューから実行可能にすることで、スプレッドシート上で簡単に処理を開始できます。


実行手順

  1. Googleスプレッドシートを開く
    対象のスプレッドシートを用意します。

  2. Google Apps Scriptを開く
    メニューバーの拡張機能Apps Scriptを選択し、エディタを開きます。

  3. スクリプトをコピー&ペースト
    上記のコードをエディタに貼り付け、保存します。

  4. スプレッドシートをリロード
    スプレッドシートを再読み込みすると、メニューバーにスクリプト実行が表示されます。

    image.png

  5. メニューからスクリプトを実行

    • PDFを取得してURL化するをクリックしてスクリプトを実行します。

    image.png


おわりに

いかがでしたでしょうか。

トリガーを設定せず、手動で定型的に実行するスクリプトに関しては、このようにメニューから実行できるようにしておくと、とても便利です◎
複数人が実行するGASであれば、なおさら良いですね!

ご活用いただければ幸いです!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?