#はじめに
Google Homeを購入して、IFTTTからGoogle Apps Scriptを使用するようになりました。
1つ1つ調べながら作成してきたので、ここでよく使ったものをまとめておこうと思います。
#まとめ
##1. スプレッドシート関連
スプレッドシートに書込んだり、読み出したり、使い方はいろいろあります。
よく使ったものをまとめます。
###1. スプレッドシートの取得
スプレッドシートのオブジェクトを取得します。openByIdには、スプレッドシートのURL部分を指定することで、該当のスプレッドシートが取得できます。
var spreadsheet = SpreadsheetApp.openById('スプレッドシートのID');
上記の「スプレッドシートのID」は、スプレッドシートをブラウザで開いたときのURLの以下「xxxxxxxxxxxxxxxxx」部分です。
https://docs.google.com/spreadsheets/d/xxxxxxxxxxxxxxxxx/edit
###2. シートの取得
シートのオブジェクトを取得します。getSheetByNameには、シート名を指定します。
「spreadsheet」は、1で記載したスプレッドシートのオブジェクトです。
var sheet = spreadsheet.getSheetByName('シート1');
###3. セル内の値の取得
セル内の値を取得します。どのセルを指定するかで方法がいくつかあります。
####アクティブセルの取得
var data = sheet.getActiveCell().getValue()
####行、列を指定して取得
var data = sheet.getRange(1,1).getValue(); // セルA1の取得
以下のようにまとめてデータを取得することで、都度getValueするよりも性能がいいようです。
// 2,2・・・B2のセルから
// 高さ4セル分
// 横幅3セル分をまとめて取得
var value = SpreadsheetApp.getActiveSheet().getRange(2,2,4,3).getValues();
for( i = 0; i < value.length; i ++ ){ // スプレッドシートを上から下に見ていくイメージ
for( j = 0 ; j < value[i].length; j++ ) { // スプレッドシートを左から右に見ていくイメージ
Logger.log(value[i][j]);
}
}
####最終行の取得
var posLastRow = sheet.getLastRow(); //最終行の取得
##2. 文字列の検索関連
###indexOf 文字列検索
指定した文字列が最初にみつかったインデックス。見つからない場合は「-1」
str ・・・・検索される対象文字列
target・・・検索文字列
str.indexOf(target)
###substring 文字列の切出し
str ・・・・切出す元の対象文字列
startPos・・検索文字列(0から指定)
str.substring(startPos)
##3. WEBアクセス関連
Google Apps ScriptでWEBアクセスもできます。WEBページの情報を取得する、WEB APIにアクセスする等に使用できます。
var response = UrlFetchApp.fetch("https://www.google.co.jp/"); // WEBページへのアクセス
response.getResponseCode(); // HTTPステータスコードのチェック
response.getContentText(); // HTML形式の結果の取得
JSON.parse(response.getContentText()); // JSONデータのパース(オブジェクトの配列が返ってくる)
##4. メール関連
メールも簡単に送信できます。便利ですね。
MailApp.sendEmail('xxxxxx@gmail.com', 'メール件名', 'メール本文');
##5. ログ出力関連
ログ出力です。スクリプトエディタ画面では、スクリプト実行後に「Ctrl+Enter」でログが表示されます。
Logger.log("ログ出力内容");
また、よく使うものがあれば、追加していきます。