はじめに
※本記事は、GAS(Google Apps Script)やバッチファイルを使って、バックオフィス周りの業務効率化、業務改善を実施している非エンジニアによる記事です。
作成したGASを実行する際、スクリプトエディタから実行するのは少々手間がかかります。
この記事では、カスタムメニューをスプレッドシート上に作成し、シートからワンクリックでスクリプト実行できる方法を紹介します。
実践するスクリプトの概要
- Googleスプレッドシートにカスタムメニューを作成。
- 実行したいスクリプトをメニューから実行可能にする。
コードの全体像
メニューから呼び出す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取得や処理を行うスクリプトの実装を記述します。
この関数をメニューから実行可能にすることで、スプレッドシート上で簡単に処理を開始できます。
実行手順
-
Googleスプレッドシートを開く
対象のスプレッドシートを用意します。
-
Google Apps Scriptを開く
メニューバーの拡張機能
→Apps Script
を選択し、エディタを開きます。
-
スクリプトをコピー&ペースト
上記のコードをエディタに貼り付け、保存します。
-
スプレッドシートをリロード
スプレッドシートを再読み込みすると、メニューバーにスクリプト実行
が表示されます。 -
メニューからスクリプトを実行
-
PDFを取得してURL化する
をクリックしてスクリプトを実行します。
-
おわりに
いかがでしたでしょうか。
トリガーを設定せず、手動で定型的に実行するスクリプトに関しては、このようにメニューから実行できるようにしておくと、とても便利です◎
※複数人が実行するGASであれば、なおさら良いですね!
ご活用いただければ幸いです!