Help us understand the problem. What is going on with this article?

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

soundTricker
Google API、Google Apps、Google App Engine、Angular(1&2)、Google Apps Scriptらへんの人 一応Google Developer Expert(Apps Script)です。 https://developers.google.com/experts/people/keisuke-oohashi
https://plus.google.com/u/0/112329532641745322160/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした