Edited at

Google Apps Scriptに「マクロを記憶」機能がキタキタキタ

More than 1 year has passed since last update.

GASの愛する皆様こんにちは 大橋です。

2018/04/11のApps Script及びGoogle Sheetsのアップデートで、

Excelにあるような「マクロを記憶」機能が追加されました。

Think macro: record actions in Google Sheets to skip repetitive work

でかい更新すぎて涙が止まりませんが、花粉のせいかもしれません。

今回はこのマクロ機能を追っていきたいと思います。


マクロを記録する。

まずは大本命のマクロの記憶の仕方です。

1. Sheetsにマクロ機能が追加されていると、メニューの「ツール」に「マクロ」が追加されます。そのサブメニュー内に「マクロを記録」が表示されるので、そのままクリックしてください。

2. 画面下部にマクロ記録用のダイアログが表示され、マクロの記憶が開始されます。そのまま任意の操作を行ってください。

3. 操作が終わったら、ダイアログの保存ボタンを押してください。

4. マクロ名と、ショートカットキーの割当を聞かれるので、それぞれ任意に入力して、保存ボタンを押下します。

Apr-13-2018 12-20-47.gif

これでマクロが記録できました。


マクロを利用する

次は記録したマクロを利用してみます。

利用するには現在2種類の方法があるようです。


  1. メニューから起動

  2. ショートカットキー


メニューから起動

メニューから起動するにはメニューから「ツール」→「マクロ」→「{利用したいマクロ名}」をクリックするのみです。

Apr-13-2018 12-25-01.gif


ショートカットキー

マクロを記憶した際にショートカットキーを割り当てておけば、メニューから呼び出さずにマクロを呼び出すことが可能です。

Apr-13-2018 12-37-26.gif


マクロを管理する

マクロメニュー内の「マクロを管理」からマクロの管理メニューが開けます。

image.png

マクロの管理メニューでは、以下のことが行なえます。


  • マクロ名の変更

  • ショートカットキーを割り当て

  • マクロの削除

  • マクロに割り当てられているApps Scriptの編集

image.png

なお、このマクロ名と、GAS上の関数の組み合わせは全て「マニフェストファイル」にまとめられています。

細かい設定を確認したかったり、大量のスクリプトを設定したい場合などは、マニフェストファイルを直接いじってもいいと思います。

image.png


マクロのインポート

マクロを記憶せずに作成した、Apps Scriptの関数をマクロとして割り当てることも可能です。

image.png

上記の様なマクロに割り当てられていない関数がある場合、

マクロメニューにて「インポート」メニューが有効になります。

image.png

インポートメニューではマクロの割当が行われていない関数が一覧表示され、マクロとして登録が可能になります。

image.png

「関数を追加」ボタンをクリックすれば、マクロとしてインポートが行なえます。

一度マクロとして登録すればショートカットキーを割り当てることも可能です。


注意点

最後になりますがマクロにはいくつか注意点があります。


  • SheetsのContainer Bound Scriptのみ利用できます。


    • Standalone Scriptはマクロ化出来ません。



  • Sheets add-onsではマクロは作れません。

  • ライブラリではマクロは作れません。

  • Sheets以外では現在の所マクロ化出来ません

2018/04/17 追記)

公式ドキュメント上の記載はありませんが、現在Chromeでのみ利用可能とのコメントを @matsuyoro さんからいただきました。

Chrome以外のブラウザでマクロが表示されていない場合はChromeで試してみてください。


まとめ

如何だったでしょうか?

マクロの記憶機能により今までGASをフルスクラッチで作る必要だったのが、

ある程度マクロを利用して作成し、その後編集を行うという手段が取れるようになりました。

またショートカットキーを割り当てられるようになり、かなり扱いやすくなったと言えます。

今回のマクロ対応により、SpreadsheetAppにも大量の関数が追加されているので、そちらも使えるようにしていきたいですね。