スプレッドシートでボタンを作成してGASを実行する

スプレッドシートでも、エクセルのマクロみたいにボタンをクリックしたら、何かが実行されるものが欲しくて作ってみました。GASが分かれば、かんたんに実装できますよ。

スプレッドシートにボタンを作る

GASを実行するボタンを作りたいスプレッドシートで、「挿入」→「図形描画」とクリックして進みます。

図形描画のエリアが表示されます。

図形を描きます。好きな図形で作りましょう。

できたら右上の「保存して終了」をクリックします。

ひとまず、ボタンはできました。

GASを作る

次は、GASを作ります。スプレッドシートのメニューの「拡張機能」から「Apps Script」を選んでGASの画面を開きます。

ここで、GASを書いていきます。今回は、GASの内容は重要じゃないのでサクッと紹介します。

私が今回作ったのは、今の日付と時刻をアクティブシートのアクティブセルに入力するGASです。

function nowtime() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var cell = sheet.getActiveRange();
  var today = new Date();
  var year = today.getFullYear();
  var month = today.getMonth() + 1;
  var day = today.getDate();
  var hour = today.getHours();
  var min =today.getMinutes();
  var s = today.getSeconds();
  var now = year + "/" + month + "/" + day + " " + hour + ":" + min + ":" + s;
  cell.setValue(now);
}

GASができたら、デプロイしておいてください。「デプロイ」から「新しいデプロイ」

歯車のマークをクリックして、ライブラリを選択して右下のデプロイをクリックします。

スプレッドシートに戻ります。

先ほど作ったボタンを右クリックします。

メニューを開き、「スクリプトを割り当て」をクリックします。

今回のスクリプトの名前は「nowtime」なので、名前を書いて、確定を押します。

実行する

できたので、実行してみましょう。ボタンをクリックすると「承認が必要」と出るので、「続行」します。

ポップアップが開いて、アカウントを選択するように言われるので、自分のアカウントを選択します。

次に、詳細をクリックします。

「"GASのプロジェクト名"に移動」をクリックします。

許可をクリックします。これで、実行できるようになりました。

改めて、スプレッドシートに戻ってクリックしてみましょう。実行されるようになっています。

最後に

エクセルみたいにスプレッドシートでも、ボタンを作ってGASを実行できました。応用すればいろいろなことができそうですね。