Skip to content

Instantly share code, notes, and snippets.

@neno-tech
Created February 9, 2021 09:01
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save neno-tech/3986c1949e842836c045946ff154966c to your computer and use it in GitHub Desktop.
Save neno-tech/3986c1949e842836c045946ff154966c to your computer and use it in GitHub Desktop.
โค้ดแจ้งข่าว + รูปภาพ +ใช้ Checkbox ส่งแจ้งเตือน
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