Google Apps Script(GAS)を使ってみよう Part 1

目次

GAS(Google Apps Script)について

あなたはGASのことを、どのくらい知っていますか?
この記事では、GAS初心者から基本的な操作方法を学ぶことができます。
もしよかったら試しながら読み進めてみてください。

まず、Google Apps Script(GAS)は、Googleが提供するスクリプト言語で、GmailやGoogleスプレッドシートを始めとしたGoogleアプリケーションを自動化することが可能です。

スプレッドシートを開いてみよう

スプレッドシートを開き⇨拡張機能⇨Apps Scriptを選択するとApps Script「無題のプロジェクト」画面が出てきます。
それでは、コードgsにコードを入力して行きましょう!

拡張機能⇨Apps Script
無題のプロジェクト画面

functionで関数を解いてみよう!

コードを書くときのお作法

function 関数名( ){ }と入力し、{ }の中にコードを書く。
関数名は自分で命名可能(※半角英数字)

functionって何?と思った方もいるのではないでしょうか。
英語では関数のことをfunctionといいます。
functionは、特定の処理を行うためのものです。
データを受け取る:「引数」と呼ばれるデータを受け取ります。
何かしらの処理をする:受け取ったデータに対して処理を行います。
処理したデータを返す:処理の結果を「返り値」として返します。
プログラム内で何度も使えるので、同じコードを繰り返し書かなくて済みます。

それでは、functinを使用して関数を解いてみましょう。

function youUseConsoleLog( ) {

console.log(1+1*3/2)

}

なぜ急にcornsole.logがでてきた!?と思ったかもしれません。
まずは、console.logとはから説明していきます。
console.logとは、何かを取得するために書いたコードの処理結果を確かめる方法のことです。

上記の関数が呼び出されると、以下のような計算ができます。

  1. 計算式: 1 + 1 * 3 / 2
  2. 演算の優先順位:
    • まず 1 * 3 が計算され、結果は 3 になります。
    • 次に 3 / 2 が計算され、結果は 1.5 になります(整数の割り算は浮動小数点数になります)。
    • 最後に 1 + 1.5 が計算され、結果は 2.5 になります。

そのため、この関数を実行すると 2.5 と表示されます。

コードを入力後、プロジェクトを保存→▷実行で答えが出ます。

スプレッドシートの操作

スプレッドシートの操作は、コードを入力したあと、スプレッドシートIDやURLなどを貼り付けたら▷実行を押すと実行開始・実行完了・エラーメッセージが表示されます。実行完了が表示されたら成功です!
ただし複数のコードを入力した場合、実行する関数を選択から関数を選んでください。

そして、GASを使う場合、必ず「どのスプレッドシートを操作するか」を指定してください。
これはとても大切なことなので忘れないでくださいね。

実行する関数を選択できます。

スプレッドシートを取得する方法:スプレッドシートID

function getSpreadsheetByFileId( ) {

SpreadsheetApp.openById(‘スプレッドシートID’)

}

SpreadsheetApp.openByIdメソッドを使用すると、スプレッドシートIDで開くことができます。
スプレッドシートIDとは、URL: https://docs.google.com/spreadsheets/d/xxxxxxxxxxxxx/edit のdの後ろxxxxxxxxxxxx 部分のことです。

Q:なぜ、getSpreadsheetByFileId( ) のカッコ内にスプレッドシートIDを入力しなくても、 SpreadsheetApp.openByIdl(‘スプレッドシートID’)だけでスプレッドシートIDが指定できるのでしょうか?

A:それは、SpreadsheetApp.openByIdでスプレッドシートIDを固定で指定しているからです。

スプレッドシートを取得する方法:スプレッドシートURL

function getSpreadsheetByFileUrl( ){

SpreadsheetApp.openByUrl(‘スプレッドシートURL’)

}

SpreadsheetApp.openByUrlメソッドを使用すると、スプレッドシートのURLを開くことができます。

Q:なぜ、getSpreadsheetByFileIdUrl( ) のカッコ内にスプレッドシートURLを入力しなくても、 SpreadsheetApp.openByUrl(‘スプレッドシートURL’)だけでURLが指定できるのでしょうか?

A:SpreadsheetApp.openByUrlもSpreadsheetApp.openByIdと同じでスプレッドシートURLを固定で指定しているからなんです。

スプレッドシートを取得する方法:現在操作しているスプレッドシートを取得する

function getSpreadsheetByActive( ){

SpreadsheetApp.getActiveSpreadsheet( )

}

SpreadsheetApp.getActiveSpreadsheetは、現在スクリプトが実行されているシートを自動的に取得するので、スプレッドシートIDやURLを指定する必要はありません。

getNameで名前を取得する

スプレッドシートの名前を取得するにはgetName( )というメソッドを使います。
いくつかの方法がありますのでひとつひとつ見てみましょう。
スプレッドシートIDで取得する
スプレッドシートのURLで取得する
現在操作しているスプレッドシートで取得する

ちなみにGASでgetName関数を使用する場合、現在使用しているスプレッドシートのタイトル名を取得できます。
下記の例では、タイトル名「GAS」を取得しています。

スプレッドシートIDで名前を取得する

function checkSpreadsheetNameByFunctionGetSpreadsheetByFileId( ) {

console.log(SpreadsheetApp.openById(‘スプレッドシートID’).getName( ))

}

スプレッドシートURLで取得する

function checkSpreadsheetNameByFunctionGetSpreadsheetByFileUrl( ){

console.log(SpreadsheetApp.openByUrl(‘スプレッドシートURL’).getName( ))

}

現在操作しているスプレッドシートの名前を取得する

function checkSpreadsheetNameByGetSpreadsheetByActive( ){

console.log(SpreadsheetApp.getActiveSpreadsheet(  ).getName( ))

}

SpreadsheetApp.getActiveSpreadsheetは、現在操作しているスプレッドシートを取得するためconsole.log(SpreadsheetApp.getActiveSpreadsheet(  )のカッコ内は、何も指定しなくてもタイトル名が表示されます。

getIDでスプレッドシートIDを取得する

スプレッドシートのIDを取得するにはgetID( )というメソッドを使います。
いくつかの方法がありますのでひとつひとつ見てみましょう。
スプレッドシートIDで取得する
スプレッドシートのURLで取得する
現在操作しているスプレッドシートで取得する

ここではGASでgetID関数を使いスプレッドシートIDを取得します。
下記の例では、タイトル名「GAS」のスプレッドシートIDを取得しています。

スプレッドシートIDで取得する

function checkSpreadsheetIdByFunctionGetSpreadsheetByFileId( ) {

console.log(SpreadsheetApp.openById(‘スプレッドシートID’).getId( ))

}

スプレッドシートURLでIDを取得する

function checkSpreadsheetIdByFunctionGetSpreadsheetByFileUrl( ){

console.log(SpreadsheetApp.openByUrl(‘スプレッドシートURL’).getId( ))

}

現在操作しているスプレッドシートのIDを取得する

function checkSpreadsheetIdByGetSpreadsheetByActive( ){

console.log(SpreadsheetApp.getActiveSpreadsheet(  ).getId( ))

}

SpreadsheetApp.getActiveSpreadsheetは、現在操作しているスプレッドシートを取得するためconsole.log(SpreadsheetApp.getActiveSpreadsheet(  )のカッコ内は、何も指定しなくてもスプレッドシートIDが表示されます。

getURLでURLを取得する

スプレッドシートのURLを取得するには getURL( ) というメソッドを使います。
いくつかの方法がありますのでひとつひとつ見てみましょう。
スプレッドシートIDで取得する
スプレッドシートのURLで取得する
現在操作しているスプレッドシートで取得する

ここではGASでgetURLを使いスプレッドシートのURLを取得します。
下記の例では、タイトル名「GAS」のスプレッドシートURLを取得しています。

スプレッドシートIDでURLを取得する

function checkSpreadsheetUrlByFunctionGetSpreadsheetByFileId( ) {

console.log(SpreadsheetApp.openById(‘スプレッドシートID’).getUrl( ))

}

スプレッドシートURLでURLを取得する

function checkSpreadsheetUrlByFunctionGetSpreadsheetByFileUrl( ){

console.log(SpreadsheetApp.openByUrl(‘スプレッドシートURL’).getUrl( ))

}

現在操作しているスプレッドシートのURLを取得する

function checkSpreadsheetUrlByGetSpreadsheetByActive( ){

console.log(SpreadsheetApp.getActiveSpreadsheet(  ).getUrl( ))

}

SpreadsheetApp.getActiveSpreadsheetは、現在操作しているスプレッドシートを取得するためconsole.log(SpreadsheetApp.getActiveSpreadsheet(  )のカッコ内は、何も指定しなくてもスプレッドシートURLが表示されます。

スプレッドシートの名前を変更する

ここでは、スプレッドシートの名前を変更するためにsetName( )を使用します。
setNameとは、シート名を設定するためのメソッドのことで、setName内のカッコに設定する名前を入力します。
もちろん、どのスプレッドシートを指定するかの指示も忘れないでください。
下記の例では、「GAS」⇨「GAS講座 – Jupyter GAS講座」に変更します。

function changeSpreadsheetName( ){

SpreadsheetApp.openById(‘スプレッドシートID’).setName(‘変更するシート名 ‘)

}

setNameに変更したいタイトル名入力
タイトル名GAS⇨
GAS講座 – Jupyter GAS講座に変更しました。

入力の際の注意

  • GASを使う場合、まず初めに「どのスプレッドシートを操作するか」を指定する必要がある
  • シングルクォーテーションマーク(‘ ‘)で囲むのを忘れない
  • スプレッドシートIDを間違えない
    (スプレッドシートIDとは、URL: https://docs.google.com/spreadsheets/d/xxxxxxxxxxxxx/edit のdの後ろxxxxxxxxxxxx 部分のことです。)
  • スペースは半角スペースを使う

弊社では、Google Apps Script を使用した、業務効率化自動化を行う部門があります。Google Work Spaceをご利用の企業様、個人事業主様、自動化などでお困りでしたら、弊社までお問い合わせください。
何百の自動化プログラムを組んできたエンジニアが、お客様の業務自動化をご支援いたします!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次