GoogleAppsScript スプレッドシート連携するたった2つの方法
「GoogleAppsScript でスプレッドシートと連携する方法がわからない」
「とりあえず、スプレッドシートに何か書き込んで動かしてみたい。」
「違う場所にあるスプレッドシートも動かしたい」
今回は、このような人に向けて記事を書いています。
Google Apps Script(通称GAS、ガス)は、Googleが作成したブラウザ上でコードを動かせるツールです。Googleのサービスと簡単に連携できるのが特徴です。
今回は、その中でもスプレッドシートとの連携方法を解説していきます。
GoogleAppsScript と スプレッドシートの連携の仕方がわかり、値の取得・書き込みができるようになる!
私は、800名規模の会社でGASを使った自動化ツールの開発をしています。
目次(クリックで読みたい部分にジャンプできます)
連携する2つの方法
スプレッドシートと連携する方法には、2つあります。
- ①AppsScriptと連携しているスプレッドシートと連携
- ②その他のスプレッドシートと連携(条件あり)
①AppsScriptが作られているスプレッドシートと連携
AppsScriptを作るときに、必ずスプレッドシートを挟んでいるはずです。
思い出してみてください。
GASを起動するときは、「スプレッドシートを起動」→「拡張機能」→「AppsScript」で起動しているはずです。
起動するまでに挟んでいるこのスプレッドシートと連携します。
コードは以下です。
早速、GASを開いて以下をコピーしてみてください。
function myfunction(){
let sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("<シートの名前を記入>");
}
getsheetByNameでシートの名前を指定します。
では、このままでは、実際に動くかどうかわからないので、さらに値を入力してみましょう。
getRange
=セルの範囲を取得します。例:A列の3行目だと、(3,1)
setValue
=指定したセルに値を入力します。 例:setValue("テスト") 「テスト」が入力されます
先ほど書いた関数に、1行書き足しています。
コピペして実行してみてください。
function myfunction(){
let sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("<シートの名前を記入>");
sheet.getRange(1,1).setValue("テスト")
}
ここまでは、AppsScriptと関係があるスプレッドシートを編集してきました。
次は、Apps Scriptでは、紐づいていないスプレッドシートを導入していきます。
②その他のスプレッドシートと連携(条件あり)
では、今度はその他のスプレッドシートとの連携方法についてご紹介します。
ただ、条件があるので、先に述べておきますが、
あなたが、「閲覧者」または「編集者」の権限を持っているスプレッドシートでしか取得することができません。
権限は、右上「共有」から確認することができます。
その他のスプレッドシートと連携する場合は、スプレッドシートのIDが必要です。
スプレッドシートのIDを取得する方法
スプレッドシートのIDは、
スプレッドシートを表示したときにアクセスしているURLに書いてあります。
スプレッドシートを表示させてください。
以下画像のような、アドレスバーに書いてあるURLをコピーします。
下記のようなURLになっているはずですが、そのうちの d/ より後の部分がIDになっています。
https://docs.google.com/spreadsheets/d/<この部分がID>/edit#gid=0
では、スプレッドシートのIDを取得しましたので、
スプレッドシートと連携していきます。以下のコードをコピペしてください。
function testfunc(){
let sheet = SpreadsheetApp.openById("<ここにスプレッドシートIDを記入>").getSheetByName("<シートの名前を記入>")
sheet.getRange(1,1).setValue("<好きな値を入れる>")
}
スプレッドシートIDから操作することができれば、
別の人が作ったスプレッドシートも操作することができるようになりますよ!
まとめ
今回は、GASからスプレッドシートを操作する際に、スプレッドシートと連携する方法を解説しました。
GASを使う上で、スプレッドシートは必須なので、ぜひ使えるようになってください!