1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

gasでフォームとスプレッドシートを一元管理する話①

1
Last updated at Posted at 2026-04-06

前提

 今回はgoogleformとspreadsheetをGASによって自動化するものを作成していきます。
その中でclaspというものを使用し、GitGitHubで管理しようという話です。
細かいフォームやシートの中身は割愛してコードの管理方法フォームの作成から自動集計についての大枠のみを抜粋して話していきます。
一連の流れは「シートAのデータをもとにフォームを自動で作成、更新できるようにし、一度フォームの回答をシートBに集めてそれを集計」という流れです。
この記事の内容では再利用性を考えてスタンドアロン型で作成していきます。

環境

 今回はclaspGitというものを使用してGASをローカルで開発しようとするものなのでnode.jsのインストールが必要になります。主は今回WebStormというものを使用しますがそのほかのエディタでも特に問題ありません。

claspとは???

 claspとはGAS(Google Apps Script)をローカル環境とつなぐツールです。
できることをもう少し詳しく記述します。

  • ローカル側のコードをGAS側へpush
  • GAS側のコードをローカル側へpull
    上記の2つをすることで同期させます。

今回はそれと合わせてGitやGitHubで管理しようという話です。
GitとGitHubについては次回の内容で設定を行っていきたいと思います。

claspを導入してみよう

ターミナル
npm install -g @google/clasp

を実行しclaspをインストールします。
そして、ログインするために以下のコマンドを実行します。

ターミナル
clasp login

そうすると自動でブラウザが開き、ログインするアカウントを聞かれます。
その際に選択した後「clasp – The Apps Script CLI がアクセスできる情報を選択してください」と聞かれますがこれはすべてチェックで続行してください。
そうするとログインが完了するのでそのまま閉じてエディタに戻って大丈夫です。
ここまでで環境は完成です。
では実際にこの状態のエディタからGoogleAppScriptを作成します。
既存のものを使用したい場合もあると思うので新規の場合と既存の場合を両方記述しておきます。

clasp create  #新規で作成する場合
clasp clone "プロジェクトID"  #既存のものを使用する場合

初めての場合設定等でエラーになると思うのでこちらでエラー対策も記述しておきます。

エラー対策
crasp createの実行エラー
User has not enabled the Apps Script API. Enable it by visiting https://script.google.com/home/usersettings then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry. 

と出る場合があります。その場合はエラーにあるURLを開きます。以下の画面が出るので設定を変更してください。

image.png
↓ ↓ ↓ 変更する
image.png

ここでもう一度コマンドを再度実行してみましょう

crasp createの結果
Created new script: https://script.google.com/d/プロジェクトID/edit
└─ appsscript.json
Cloned one file..

新規作成の場合はログがこのようになれば完了です。
実際にこのURLをクリックするとプロジェクトに飛ぶことができるのでぜひ確認してください。

実際にpushとpullを行ってみましょう。
チュートリアルとしてまず初めにエディタ側でindexファイルを作成してみましょう。

index.js
console.log("Hello World");

これをGAS側へ同期させるためにpushしてみましょう。
そのためのコマンドがこちらです。

ターミナル
clasp push

実際にまたGASを開いて確認してみましょう。同期されていないときは更新してみてください。

それが確認出来たら次にGASで更新した内容を同期してみましょう。
そこにGAS側からもう一行追加してみましょう。

index.js
console.log("Hello World");
console.log("hoge");

これができたらエディタ側で同期してみましょう。

ターミナル
clasp pull

これが成功すると同期できます

次回の記事ではGitとGitHubのインストールや登録方法について解説します。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?