Created
February 9, 2021 09:01
-
-
Save neno-tech/3986c1949e842836c045946ff154966c to your computer and use it in GitHub Desktop.
โค้ดแจ้งข่าว + รูปภาพ +ใช้ Checkbox ส่งแจ้งเตือน
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function onEdit(e) { | |
var ss = SpreadsheetApp.getActive() | |
var sheet = ss.getSheetByName("Sheet1"); | |
var SendNotify = sheet.getRange('G2').getValue();//ช่องติ๊กส่งแจ้งเตือน | |
if (SendNotify == true) { | |
for (var i = 0; i < 5; i++) { | |
var Selected = sheet.getRange(i + 2, 5).getValue();//เช็คว่าช่องไหนบ้างโดนติ๊ก | |
if (Selected == true) { | |
var token = sheet.getRange(i + 2, 2).getValue(); | |
var msg = sheet.getRange(i + 2, 3).getValue(); | |
var imgID = sheet.getRange(i + 2, 4).getValue(); | |
var image = DriveApp.getFileById(imgID).getBlob() | |
sendLineNotify(msg, image, token) | |
} | |
} | |
} | |
checkAll(e) | |
} | |
function sendLineNotify(msg, image, token) { | |
var formData = { | |
'message': msg, | |
"imageFile": image | |
} | |
var options = { | |
"method": "post", | |
"payload": formData, | |
"headers": { "Authorization": "Bearer " + token } | |
}; | |
UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options); | |
} | |
function checkAll(cell) { | |
switch (cell.range.isChecked()) { | |
case null: | |
return; | |
case true: | |
var checkBoxState = true; | |
break; | |
case false: | |
var checkBoxState = false; | |
break; | |
}; | |
var sheet = cell.range.getSheet(); | |
var checkAllRange = tickAllLocations | |
.filter(function (sht) { | |
return sht.sheet === sheet.getName(); | |
})[0].locs | |
.filter(function (loc) { | |
return loc.setCell === cell.range.getA1Notation(); | |
}) | |
.map(function (rng) { | |
return rng.range | |
}); | |
if (checkAllRange.length === 0) { | |
return; | |
} else { | |
var range = sheet.getRange(checkAllRange[0]); | |
if (checkBoxState) { | |
range.check(); | |
} else { | |
range.uncheck(); | |
}; | |
}; | |
return; | |
}; | |
var tickAllLocations = [ | |
{ | |
sheet: "Sheet1", | |
locs: [{ | |
setCell: "F2", | |
range: "E2:E6" | |
}] | |
} | |
]; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment