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にコードを入力して行きましょう!


functionで関数を解いてみよう!
関数名は自分で命名可能(※半角英数字)
functionって何?と思った方もいるのではないでしょうか。
英語では関数のことをfunctionといいます。
functionは、特定の処理を行うためのものです。
データを受け取る:「引数」と呼ばれるデータを受け取ります。
何かしらの処理をする:受け取ったデータに対して処理を行います。
処理したデータを返す:処理の結果を「返り値」として返します。
プログラム内で何度も使えるので、同じコードを繰り返し書かなくて済みます。
それでは、functinを使用して関数を解いてみましょう。
function youUseConsoleLog( ) {
console.log(1+1*3/2)
}
なぜ急にcornsole.logがでてきた!?と思ったかもしれません。
まずは、console.logとはから説明していきます。
console.logとは、何かを取得するために書いたコードの処理結果を確かめる方法のことです。
上記の関数が呼び出されると、以下のような計算ができます。
- 計算式: 1 + 1 * 3 / 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(‘変更するシート名 ‘)
}






入力の際の注意
- GASを使う場合、まず初めに「どのスプレッドシートを操作するか」を指定する必要がある
- シングルクォーテーションマーク(‘ ‘)で囲むのを忘れない
- スプレッドシートIDを間違えない
(スプレッドシートIDとは、URL: https://docs.google.com/spreadsheets/d/xxxxxxxxxxxxx/edit のdの後ろxxxxxxxxxxxx 部分のことです。) - スペースは半角スペースを使う
弊社では、Google Apps Script を使用した、業務効率化、自動化を行う部門があります。Google Work Spaceをご利用の企業様、個人事業主様、自動化などでお困りでしたら、弊社までお問い合わせください。
何百の自動化プログラムを組んできたエンジニアが、お客様の業務自動化をご支援いたします!