PR

【GAS】スプレッドシートにカスタムメニューを作成する方法:サンプルコード付き

【GAS】スプレッドシートにカスタムメニューを作成する方法:サンプルコード付き GAS
記事内に広告が含まれています。

Google スプレッドシートでは、スプレッドシート上で特定の操作をワンクリックで実行できるカスタムメニューをメニューバーに追加することができます。

 Google Apps Script (GAS) で作成したスクリプトをカスタムメニューに割り当てて、任意の処理をワンクリックで実行できるようになるので、作業効率を向上することができます。

今回は、スプレッドシートに カスタムメニューを追加する方法を、サンプルデータとコード付きで詳しく解説します。

スプレッドシートの準備

まずは、スプレッドシートに操作するデータを用意します。

今回は、以下のサンプルデータをスプレッドシートのA1:D4セルの範囲に入力します。

商品名単価数量合計
商品A10002
商品B15003
商品C8005

GAS スクリプトの作成

カスタムメニューに割り当てるGAS スクリプトを作成します。

今回のサンプルでは、単価と数量から合計金額を計算するスクリプトを作成します。


まず、メニューバーの「拡張機能」を左クリックし、「Apps Script」を選択します。

「Apps Script」を選択すると、スクリプトエディタが新しいタブで開きます。

「Apps Script」を左クリックする

新しいタブでスクリプトエディタが開かれたら、「単価と数量から合計金額を計算する関数」と「新しいカスタムメニューを作成する関数」を作成します。

以下のスクリプトをコピーして貼り付け、プロジェクトを保存します。

// 合計金額を計算する関数
function calculateTotal() {
  // アクティブなスプレッドシートを取得
  var sheet = SpreadsheetApp.getActiveSheet();
  // A2:D4の範囲を指定してデータを取得
  var dataRange = sheet.getRange("A2:D4");
  // 指定した範囲のデータを2次元配列として取得
  var data = dataRange.getValues();
  
  for (var i = 0; i < data.length; i++) {
    // 単価を取得(B列のデータ)
    var price = data[i][1];
    // 数量を取得(C列目のデータ)
    var quantity = data[i][2];
    // 合計金額を計算
    var total = price * quantity;
    // 計算結果をD列に設定
    sheet.getRange(i + 2, 4).setValue(total);
  }
  
  // 処理完了のメッセージをポップアップで表示
  Browser.msgBox("合計金額の計算が完了しました。");
}

// スプレッドシートが開かれたときに自動的に実行される関数
function onOpen() {
  // スプレッドシートのユーザーインターフェース(UI)を取得
  var ui = SpreadsheetApp.getUi();
  
  // 新しいカスタムメニューを作成
  ui.createMenu('カスタムメニュー')
    // メニューに「合計金額を計算」という項目を追加し、クリック時にcalculateTotal関数を呼び出す
    .addItem('合計金額を計算', 'calculateTotal')
    // 作成したメニューをスプレッドシートのUIに追加
    .addToUi();
}

カスタムメニューの作成と実行

スクリプトを保存できたら、スプレッドシートに戻ります。

スプレッドシートを再読み込みすると、メニューバーに「カスタムメニュー」が追加されます。

カスタムメニューが追加されたことを確認


追加された「カスタムメニュー」→「合計金額を計算」をクリックすると、スクリプトが実行されます。

カスタムメニューをクリックして実行する

初めて実行する際には、「このドキュメントに添付されたスクリプトを実行するには、あなたの許可が必要です。」とスクリプトに対する権限の承認が求められる場合があります。

認証を求められたら、表示に従って承認してください。

「このアプリは Google で確認されていません」と表示された場合は左下の詳細をクリックすると、「無題のプロジェクト(安全ではないページ)に移動」というリンクが表示されます。
このリンクをクリックすると次のページへ遷移できます。

権限の承認が完了すると、合計金額の計算完了のダイアログが表示されるので、「OK」を左クリックします。

「OK」をクリックすると、合計金額の計算の処理が実行されます。

正常にスクリプトが実行されると、D列に合計金額が入力されます。

カスタムメニューからスクリプトを実行した結果

これで、カスタムメニューからワンクリックで合計金額を自動計算できるようになりました。

まとめ

Google スプレッドシートにカスタムメニューで関数を実行するボタンを追加することで、簡単に処理を実行することができます。

本記事で紹介したサンプルコードを参考に、ご自分の業務に合わせたカスタムメニューを作成してみてください。

コメント

タイトルとURLをコピーしました