#topicpath
----

#contents





**SpreadSheetを走査して、データを取得する [#i85a03a5]
#ref(05.png)
こんなデータを用意しました。このSpreadSheetに紐付いたエディタで定義した関数は以下の通り:

 function getAllRecords(){
   var mySheet = SpreadsheetApp.getActiveSheet(); // アクティブなシート
   //  var mySheet = SpreadsheetApp.getActive().getSheetByName('シート2'); // シート名指定
   var arrData = mySheet.getDataRange().getValues();
    
   for(var i=0; i< arrData.length; i++){
     Logger.log(arrData[i]);
   }
 }

こんな感じでセルのデータにアクセスができます。実行しようとすると、OAuth2の認可画面が出ますが、そのシートへのデータアクセスを許可すれば、下記の実行結果が得られます。
&#8232;
 [17-03-25 16:31:09:521 JST] [NO, 住所, 氏名, 年齢]
 [17-03-25 16:31:09:522 JST] [1.0, 東京, 名前1, 20.0]
 [17-03-25 16:31:09:522 JST] [2.0, 東京, 名前2, 21.0]
 [17-03-25 16:31:09:523 JST] [3.0, 東京, 名前3, 22.0]
 [17-03-25 16:31:09:524 JST] [4.0, 東京, 名前4, 23.0]
 [17-03-25 16:31:09:524 JST] [5.0, 東京, 名前5, 24.0]
 [17-03-25 16:31:09:525 JST] [6.0, 東京, 名前6, 25.0]
 [17-03-25 16:31:09:525 JST] [7.0, 東京, 名前7, 26.0]
 [17-03-25 16:31:09:526 JST] [8.0, 東京, 名前8, 27.0]
 [17-03-25 16:31:09:526 JST] [9.0, 東京, 名前9, 28.0]
 [17-03-25 16:31:09:527 JST] [10.0, 東京, 名前10, 29.0]
 [17-03-25 16:31:09:527 JST] [11.0, 東京, 名前11, 30.0]
 [17-03-25 16:31:09:527 JST] [12.0, 東京, 名前12, 31.0]
 [17-03-25 16:31:09:528 JST] [13.0, 東京, 名前13, 32.0]
 

-[[GASでSpreadsheetを操作する自分的ベストプラクティス - Qiita>http://qiita.com/ryan5500/items/e72eb205fbe006c2eb6f]]
getActive().

** SpreadSheetに入力された日付の取扱い。 [#qba0197b]
 for(var i=0; i< arrData.length; i++){
   var date = new Date(arrData[i][4]);
   //    Logger.log(date);
   Logger.log(Utilities.formatDate( date, 'Asia/Tokyo', 'yyyy/MM/dd HH:mm:ss'));
 }            ↑フォーマットされた文字列を返す

ついでに、つぎの日とかの取得方法。
 Logger.log(Utilities.formatDate( date, 'Asia/Tokyo', 'yyyy/MM/dd HH:mm:ss'));
 date.setDate(date.getDate() + 1);  ←日付+1
 Logger.log(Utilities.formatDate( date, 'Asia/Tokyo', 'yyyy/MM/dd HH:mm:ss'));


**SpreadSheetへのレコード追加。 [#kda2aa86]
 var mySheet = SpreadsheetApp.getActiveSheet(); // アクティブなシート
 var record = [
   'data1',
   'data2',
   'data3',
   'data4',
 ];
 mySheet.appendRow(record);

このように列ごとのデータを配列で渡せばOK。

**doPost(e)のパラメタへのアクセス [#ac7aa103]

例: e.parameter.param1 で、
 curl -X POST https://script.google.com/[WEBアプリURL] --data-urlencode 'param1=value1'
で言うところの 'value1' が取得できる。 

**以下、整理中。 [#mc3d076a]

SlackのOutgoing WebHooksを使って、処理を起動する

処理結果を Slackへ通知する

これらを使って、SlackのBotをつくる


RESTを叩いてデータをとりにいく

Gmail送信する

環境変数を設定する



***関連リンク [#q2aed177]
-[[Google AppsとOffice365を使いこなすためのGoogle Apps Script・Office API最強ツール|CodeIQ MAGAZINE>https://codeiq.jp/magazine/2016/11/46750/]]




----
この記事は
#vote(おもしろかった,そうでもない)

#comment

#topicpath

SIZE(10){現在のアクセス:&counter;}



トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS