🐴
GAS:個人的によくつかう処理のチートシート
全般
メッセージボックス
Browser.msgBox(Variable)
停止(ms)
Utilities.sleep(1500)
スプレッドシート操作
メソッド省略
var sheet = SpreadsheetApp.getActiveSheet();
セルからデータ取得
// R1C1
var Variable1 = sheet.getRange(1,1).getValue()
// A1
var Variable2 = sheet.getRange("A1").getValue()
API
Web APIの実行
const options = {
"method" : "get",
"contentType": "application/x-www-form-urlencoded",
"payload" : {
"token": slack_app_token,
"cursor": cursor,
"limit":limit
}
};
const urlParameter = '' //URL
let response = UrlFetchApp.fetch(urlParameter)
//Jsonをパース
let json = JSON.parse(response.getContentText())
※返ってくるデータ,Json内の作法に合わせて処理を変更する必要がある
Slackに投稿
// プロジェクトプロパティにてPOST_CHANNELとトークンを設定する必要がある
function postSlack(message,webhook) {
var webhook = ""//WebhookURL
var message ="test"
var jsonData = {
"channel" : POST_CHANNEL,//投稿先チャンネル
"text" : message //投稿内容
};
var payload = JSON.stringify(jsonData);
var options = {
"method" : "post",
"contentType" : "application/json",
"payload" : payload
};
//通知処理
UrlFetchApp.fetch(webhook, options);
}
その他:スプレッドシート関数
当月初日
=text(date(Year(today()),month(today()),1),"YYYY-MM-DD")
当月末日
=text(DATE(Year(today()),month(today())+1,1)-1,"YYYY-MM-DD")
範囲を集計
=QUERY(Append!A2:H," select B, sum(H), count(C) where A >= date '"&
text(DATE(Year(today()),month(today()),1),"YYYY-MM-DD")&
"'And A <= date '"&text(DATE(Year(today()),month(today())+1,1)-1,"YYYY-MM-DD")
&"' group by B label B 'ユーザ名', sum(H) '当月合計勤務時間(分)', count(C)'出勤日数' ", true)
Discussion