エンジニ屋.com(エンジニヤドットコム)

分かりやすくを意識して情報発信!

Google Apps Script入門:基本からスプレッドシート連携まで完全ガイド!

Google Apps Script (GAS)は、Google Workspaceのアプリケーションをカスタマイズし、連携させるためのJavaScriptベースのプラットフォームです。

これにより、Googleスプレッドシート、ドキュメント、カレンダー、Gmailなどといったアプリケーションを拡張し、効率的に利用することが可能になります。

本記事では、GASの魅力と基本操作を初心者の方に向けて解説します。


GASがビジネスに与える影響

  • 業務効率化: ルーチンタスクの自動化により、時間を節約し、エラーを減らすことができます。
  • コスト削減: プログラムを使用して手作業を減らすことで、コストを削減できます。
  • データ管理の向上: GASを使用してデータを集め、分析し、共有することで、データ駆動の意思決定をサポートできます。

GASの実行準備

Google のアカウントの設定

  1. まず、Google アカウントが必要です。持っていない場合は、こちらから新しいアカウントを作成できます。

  2. アカウントを作成したら、Googleにログインします。

スクリプトエディタの使い方

  1. Googleドライブにアクセスします。
  2. Googleドライブにアクセス
  3. 左上の「+ 新規」ボタンをクリックし、ドロップダウンメニューから「その他」を選択し、「Google Apps Script」をクリックします。
  4. Google Apps Script にアクセス
  5. 新しいスクリプトエディタが開きます。ここで、左上の「無題のプロジェクト」をクリックし、プロジェクト名を入力します。
  6. プロジェクト名を変更
  7. コードエリアにスクリプトを記述していき、保存後に上部の実行ボタン(▶︎)をクリックしてスクリプトを実行します。エラーがある場合は、エラーメッセージを読んでデバッグします。

後程、実践します!

Google Apps Script

基本的なGASの構文

このセクションでは、Google Apps Script (GAS) の基本的な構文について説明します。

変数の宣言、関数の作成と呼び出し、そしてスクリプトの実行と結果の確認について学びます。

これらの基本的な構文は、GASを効果的に利用するための基盤となります。

ワンポイント

Google Apps Script (GAS) は JavaScript ベースのプラットフォームです。
したがって、スクリプトは JavaScript で書いていきます。
JavaScriptの基本的な構文と特定のGoogle Apps ScriptのAPIを利用して、Google Workspaceのアプリケーションと連携するプログラムを作成します。

変数の宣言

変数は、データを格納するための名前付きの容器です。varキーワードを使って変数を宣言します。

var name = "John";  // "name"という名前の変数を作成し、"John"という値を格納します。
ワンポイント

// の記号はJavaScriptやGoogle Apps Scriptでコメントを書くための記号です。
コメントはコードに含まれる説明や注釈で、実際のプログラムの実行には影響しません。
これにより、プログラマーはコードの各部分が何をするのかを説明し、他の人がコードを理解しやすくすることができます。

関数の作成と呼び出し

関数は、特定のタスクを実行するコードのブロックです。functionキーワードを使って関数を作成します。

// 'greet'という名前の関数を定義します。
function greet() {
   // 'Logger.log'メソッドを使用して、"Hello world"というメッセージをログに出力します。
   Logger.log("Hello world");
}

// 実行するには、スクリプトエディタのプルダウンメニューから`greet`関数を選択し、実行ボタンをクリックします。

スクリプトを実行

それでは、スクリプトを実行していきます。

先ずは、プロジェクトを保存する必要があります。

プロジェクトを保存

保存後に実行ボタンをクリックすると、実行ログに実行結果が表示されます。

実行ログ

実行ログにHello, worldと表示されれば正常に動作したことになります。

これだけでは、特に業務に役に立つことはないので、次にGoogleの他のアプリケーションと連携する方法の解説をします。

Google Workspaceとの連携

このセクションでは、Google Apps Script (GAS) を利用して Google Workspace のアプリケーションとどのように連携するかについて学びます。

具体的には、スプレッドシートへのデータ書き込みで、GASの連携機能を理解します。

スプレッドシートを利用されたことがない方はこちらの記事をどうぞご覧ください!

enginiya.com

スプレッドシートへのデータ書き込み

スクリプトを使ってスプレッドシートにアクセスし、データを書き込むことで、情報を整理し、共有し、分析する作業を効率的に行えます。

これは、GASの強力な連携機能を利用して、日常の業務プロセスを自動化する基本的なステップです。

  1. スプレッドシートの作成:
  2. ● SpreadsheetAppクラスのcreateメソッドを使用して新しいスプレッドシートを作成します。
    var spreadsheet = SpreadsheetApp.create("New Spreadsheet");
    
    ワンポイント

    SpreadsheetAppはGoogle Apps Scriptのクラスで、Google スプレッドシートにアクセスし操作するための方法を提供します。
    例えば、新しいスプレッドシートを作成したり、既存のスプレッドシートを開いたり、セルにデータを書き込んだりすることができます。
    このクラスを使用することで、スプレッドシートのデータをプログラム的に管理し、自動化することが可能になります。

  3. シートの取得:
  4. ● spreadsheet.getSheets()[0]を使用して最初のシートを取得します。
    var sheet = spreadsheet.getSheets()[0];
    
    spreadsheetは変数で、この変数には前のステップで作成されたスプレッドシートのインスタンスが格納されています。 spreadsheet.getSheets()[0]のコードは、このspreadsheet変数が参照するスプレッドシートの中の最初のシートを取得します。 このようにして、プログラムはそのシートにアクセスし、さらにデータを読み書きすることができます。
  5. データの書き込み:
  6. ●getRangeとsetValueメソッドを使用してデータを書き込みます。
    sheet.getRange(1, 1).setValue("Hello, World!");
    
  7. URLの取得:
  8. ● spreadsheet.getUrl()を使用してスプレッドシートのURLを取得します。
    var url = spreadsheet.getUrl();
    
  9. ログへの出力:
  10. ● Logger.log(url)を使用して、取得したURLをログに出力します。
    Logger.log(url);
    

上記のソースコードを全て組み合わせると以下のようになります。

function writeToSheet() {
  var spreadsheet = SpreadsheetApp.create("New Spreadsheet");
  var sheet = spreadsheet.getSheets()[0];  // 最初のシートを取得
  sheet.getRange(1, 1).setValue("Hello, World!");  // セルA1に"Hello, World!"というテキストを書き込み
  var url = spreadsheet.getUrl();  // スプレッドシートのURLを取得
  Logger.log(url);  // URLをログに出力
}

スクリプトを実行

スクリプトを実行するとログにスプレッドシートのURLが発行されたら成功です。

スクリプトを実行

初めて、GASからスプレッドシートにアクセスする場合は権限の実行確認があります。

進めていくと以下のような注意がありますが、詳細→(安全ではないページ)に移動とするとスプレッドシートと連携が可能になります。

アクセス確認

自動でスプレッドシートは開かないので、ログに表示されたURLにアクセスするとスプレッドシートが開くことができます。

スプレッドシートを開いて、以下のようにA列の1行目に"Hello world!"と表示されていたら成功です。

スプレッドシート

実例: 業務自動化プロジェクト

このセクションでは、実際にどのような業務にGASを使うことができるかを紹介したいと思います。

例えば、毎月のレポートを自動生成し、関連部署にメールで送信するといった業務も次のステップで実装することが可能です。

  1. データ集計: スプレッドシートから前週の売上データを集計。

  2. レポート作成: 集計結果を基にレポートを作成。

  3. メール送信: レポートを添付し、関連部署にメールで送信。

このスクリプトにより、毎週のレポート作成と送信タスクが自動化され、時間と労力が節約されます。

こちらの記事で実践方法を詳しく解説しています。次のステップとしてぜひご覧ください。

enginiya.com

GASのコミュニティとリソース

公式ドキュメント

Google Apps Script の公式ドキュメント

GASの公式ドキュメントは、基本的な構文から高度な使用方法まで、幅広い情報を提供しています。

利用者はここでGASの全機能とAPIに関する詳細な説明を見つけることができます。

コミュニティフォーラム

Google Apps API Japan

GASのコミュニティフォーラムは、利用者間で知識を共有し、問題を解決する場です。

新しい利用者はここで経験豊富な開発者からアドバイスを受けたり、特定の問題についてディスカッションできます。

まとめ

GASは業務効率化や自動化を実現し、時間とコストを節約する強力なツールです。 シンプルなスクリプトから複雑なプロジェクトまで、多くの可能性が広がります。

この記事で紹介した基本的な知識を基盤に、さらに高度なスキルを習得して、より複雑で高度なプロジェクトに挑戦しましょう。

エンジニ屋.comでは、今後もGASについて発信していく予定ですので、記事公開を見逃さないようにX(旧Twitter)をフォローお願いいたします。