0
0

More than 5 years have passed since last update.

GoogleAppsScript_備忘録

Last updated at Posted at 2018-11-05

日付に関して

1日前の考え方
24時間x60分x60秒=864,000秒戻す
new Dateはミリ秒で考えるのでx1000が必要

というかmonmentライブラリを使ったほうが
圧倒的に簡単

aa.gs
var time = Moment.moment();//時間取得
var today = time.format('YYYY-MM-DD');//本日
var yesterday = time.add('days', -1).format('YYYY-MM-DD');//昨日
var tomorrow = time.add('days', +1).format('YYYY-MM-DD');//明日

保存方法に関して

コンテナバインドはスクリプトが迷子になる。。。
基本的にスタンドアロンで作ることをオススメ。

ES6非対応

宣言でconstは使えるけど、letは使えない

ESとはECMAScript(エクマスクリプト)のこと

ECMAScript(エクマスクリプト)は、JavaScriptの標準であり、Ecma Internationalのもとで標準化手続きなどが行われている。
Ecma Internationalのほか、ISO/IEC JTC 1からもISO/IEC 16262として標準化されている。日本もJIS X 3060としてJIS化している。

基本的に代入や再宣言が必要なければ、
constで固定でいいと思うけど、forのイテレーションみたいな
場合は最大入可能なvarにする。

巻き上げは起きない。

var のスコープは 関数
const のスコープは ブロック

Subterranean Flower

実行速度問題

APIはなるべく呼び出さない。
ループに入れない。

下の実行時間取得スクリプトを使って、
実行時間に気を使う。

timer.gs
//実行時間ログ出力セット
var start_ms = Moment.moment();//時間計測開始
/*~~~~~~
スクリプト記述
~~~~~~*/
var end_ms = Moment.moment();//時間計測終了
var span_sec = (end - start)/1000;
Logger.log("処理時間:" + span_sec + "" );

記述ルール

-マジックナンバーは使わない
-定数は大文字でスネークケース
TAX_RATEなど基本不変のもの
-宣言する種類を記載する
単位があるものはアンダーバーでつける

str:String //文字列
date:Date //日付
rng:Range //データ範囲
sh:sheet //シート
ss : spreadsheets //スプレッドシート本体
sh : spreadsheet //シート
0
0
1

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