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

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にも大量の関数が追加されているので、そちらも使えるようにしていきたいですね。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.