7
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Google Home活用のため使用したGoogle Apps Scriptまとめ

Last updated at Posted at 2018-02-10

#はじめに
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("ログ出力内容");

また、よく使うものがあれば、追加していきます。

7
10
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
7
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?