ブログ

日々の開発で得た知見や、技術的な発見をアウトプットしていきます。フロントエンド開発を中心に、実装のヒントやトラブルシューティング、新しい技術の検証結果など、実践的な情報を発信。エンジニアとしての成長の記録であり、同じ課題に直面する方々への導きとなることを目指しています。

BLOG

【GAS超入門】Google Apps Scriptを使ってスプレットシートのセルに値を入れる方法

こんにちわ!

今回はGASとは何か?GASを使ってスプレットシートに値を入れる方法について解説したいと思います。

GASとは?

Google Apps Script(GAS)とはGoogleが提供している各種サービスの自動化/連携を行うためのツールです。GASを使うことでGmailやGoogleスプレットシートなどGoogleが提供するさまざまなサービスに対して処理を自動化したり複数のサービスを連携させたりということが可能です。

Javascriptをベースに開発されておりJSが書ける方は比較的容易に習得することができます。

GASの特徴

Googleアカウントがあれば誰でも無料で使える

Googleアカウントが基本誰でもGASを使用することができます。ただし本格的に活用する場合Google Workspaceに契約しイベントの制作件数などの上限が増加できる。

環境構築が不要

GASの開発環境はWebブラウザベースで動作するため、URLを開けばすぐに開発することができます。

インストールや複雑な設定など手間のかかる準備作業は必要ありません。

Javascriptベースで覚えやすい

GASでプログラムコードを記述する際、ベースはJavascriptなのでJSが書ける人は比較的簡単に使いこなせるでしょう。

実際にセルに値を入力してみよう

まずスプレットシートを新規作成します。

今回は「GAS入門」というタイトルで用意しました。

スプレットシートの拡張機能からApps Scriptを選択します。

下のような画面になれば準備完了です。

myFunction関数の中にコードを記述していきます。

以下のように入力してみてください。

function myFunction() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName('シート1');
  sheet.getRange('A1').setValue('値を入れてみた!');
}

1行ずつ解説します。

const ss = SpreadsheetApp.getActiveSpreadsheet();

この行によってスプレッドシート全体を指定していてそれを変数ssに格納しています。

次回から変数ssを呼び出すことでスプレッドシートに対しての操作を行うことができます。

getSheetByNameメソッドでシート指定

const sheet = ss.getSheetByName('シート1');

次の行ですがgetSheetByNameメソッドを使って特定のシートを呼び出しています。

今回だとシート1が操作可能になります。

getRangeメソッドで範囲を指定

sheet.getRange('A1')

getRangeメソッドで範囲の指定をすることができます。

上記のコードだとA1のセルを操作することができるようになります。

setValueメソッドで値を入力

sheet.getRange('A1').setValue('値を入れてみた!');

先ほどのコードに続いてsetValueメソッドを使うことで値を入力することができます。

getRange(1,1)という書き方もできます。

ここまで書けたらファイルを保存して実行してみましょう。

  • ファイル保存(Ctrl + SまたはCommand + S)

実行(Ctrl + RまたはCommand + R)

保存に成功すると黄色の丸が消えます。

実行すると以下のような画面になります。

権限を確認をクリックし自分のGoogleアカウントを指定してください。

詳細をクリックしプロジェクトに移動をクリックします。

アクセスを許可すると実行が開始されます。

以上によりシート1のA1セルに「値を入れてみた!」と入力されているはずです。

シート1を確認してみましょう。

値が入っていれば成功です。

まとめ

今回はセルに値を入力するというGASの超初歩的な内容について解説しました。

もっと突き詰めるとスプレットシートの値をデータベースに反映させたりなどできるようです。

僕自身GASという言葉自体知らなかったのでこれからもっと学習していきたいと思います。

でわ!