見出し画像

GASを使ってみたい!

GASって知ってますか?Google系のツールのVBAのようなものです。個人で無料で利用できるのでものすごく便利で、これは流行るだろうと思っていたのにそうでもないので、ここで普及活動します。
私も勉強中なので、自分の備忘録も兼ねています。

まずは作ってみよう

完成イメージ

GASの例として、Googleドキュメントに自分で追加したメニューを押すと、ドキュメントに右揃えで今日の日付と水平線が追加されるGASを作成します。

作成方法

  1. 普通にGoogleドキュメントを作成します。

  2. [拡張機能]→[Apps Script]を選択します。

  3. 新しく開いた画面で、元々書いてある「function myFunction() { }」を消して、下記のコードをコピペします。

  4. フロッピーディスク(プロジェクトを保存)のボタンを押してプロジェクトを保存します。

function myFunction() {
  const doc = DocumentApp.getActiveDocument().getBody();
  const today = Utilities.formatDate(new Date(), "JST", "yyyy/MM/dd");

  const day = doc.appendParagraph(today);
  day.setAlignment(DocumentApp.HorizontalAlignment.RIGHT);
  doc.appendHorizontalRule();
}

function onOpen(){
  const ui = DocumentApp.getUi();
  ui.createMenu('★追加').addItem('日付と水平線','myFunction').addToUi();
}

実行方法

  1. 元のGoogleドキュメントの画面に戻って、ドキュメントをリロード(開き直し)します。

  2. メニューに「★追加」が表示されているので、そこから「日付と水平線」を選択します。(コードの中で分かりやすく「★追加」という名前にしています。)

  3. 初めての実行時は承認が必要なので、許可します。

    • 「承認が必要」画面→「続行」

    • Googleアカウントを選択

    • 「Googleで確認されていません」画面→「詳細」から「(安全ではないページ)に移動」

    • 「アクセスをリクエストしています」画面→「許可」

  4. 次からは承認の画面は出ないので、もう一度「★追加」から「日付と水平線」を選択すると、日付と水平線が入力されるのを確認できると思います。

GASの疑問点

GASで何ができるの?

Google系のツール(スプレッドシート、ドキュメント、Gmail、Googleカレンダー等)を単独、もしくは連携させて利用することができます。
例えば…

  • Googleカレンダーに登録されたスケジュールを、一括でスプレッドシートに転記する。

  • スプレッドシートで管理している連絡先へのメールを、一括で作成する。

  • Gmailで届くクレジットカードの利用明細をスプレッドシートに転記する。

などです。

汎用性のあるGASは作れないの?

先ほど作った「日付と水平線を追加」するGASは、1つのドキュメントに紐づいていて、新規ドキュメントでは「★追加」メニューは表示されません。
この新規ドキュメントにも「日付と水平線を追加」するボタンが欲しかったら、同じように[拡張機能]→[Apps Script]でコードを書く必要があります。
基本的にはこのように、1つ1つのドキュメントやスプレッドシート毎にGASを作成します。(コンテナバインドスクリプトと言います。)
一応、1つ1つのドキュメントやスプレッドシートに紐づかない単体のGASも作成できますが、ライブラリを作成するなどの時に使用するそうです。
こちらはスタンドアロンスクリプトと言って、ダッシュボードやGoogleドライブからマイドライブ直下に作成できるので、適宜移動して利用します。
私も勉強中なので、知らんけど状態ですけど。

最後に…

GASで簡単に便利なものが作れたらいいなーって思ってます。

この記事が気に入ったらサポートをしてみませんか?