Skip to content

Instantly share code, notes, and snippets.

@neno-tech
neno-tech / code.gs
Last active September 8, 2023 04:29
โค้ดไลน์แจ้งเตือนตามปฏิทิน
function myFunction() {
var calenda = CalendarApp.getCalendarById("xxx");
var token = "xxx"; // Line Token
var url = "https://notify-api.line.me/api/notify";
var today = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate());
var event = calenda.getEventsForDay(today);
var msg = "";
if (event.length === 0) {
msg = "วันนี้ไม่มีกิจกรรม";
@neno-tech
neno-tech / code.gs
Last active March 20, 2023 05:34
เว็บแอประบบค้นหาข้อมูลด้วย ID เครดิต: AppsScriptLab
function doGet() {
return HtmlService.createTemplateFromFile('555')
.evaluate()
.addMetaTag('viewport', 'width=device-width, initial-scale=1')
.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL)
}
function submitData(obj){
var ss = SpreadsheetApp.openById("xxx");
var sheet = ss.getSheetByName("xxx");
var flag = 1 ;
@neno-tech
neno-tech / index.html
Last active March 13, 2022 12:18
การทำเว็บแอปแบบทดสอบง่ายๆ
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<style>
@import url('https://fonts.googleapis.com/css2?family=Prompt:wght@400&display=swap');
*{font-family: 'Prompt'}
#frame {
height: 400px;
function doGet() {
return HtmlService.createTemplateFromFile('index')
.evaluate()
.addMetaTag('viewport', 'width=device-width, initial-scale=1')
.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL)
}
@neno-tech
neno-tech / code.gs
Created February 22, 2022 07:53
Web App ฟอร์มลงทะเบียนแบบ Responsive
function doGet() {
return HtmlService.createTemplateFromFile('index').evaluate()
.addMetaTag('viewport', 'width=device-width, initial-scale=1')
.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL)
}
function saveData(obj){
var ss = SpreadsheetApp.openById('xxx').getSheetByName('ชีต1')
var header = ss.getRange(1,1,1,ss.getLastColumn()).getValues()[0]
var row = []
@neno-tech
neno-tech / code.gs
Created February 15, 2022 06:55
ฟอร์มติดต่อเรา
function doGet() {
return HtmlService.createTemplateFromFile('index')
.evaluate()
.addMetaTag('viewport', 'width=device-width, initial-scale=1')
.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL)
}
function sendMail(obj) {
Logger.log(obj)
var message = obj.message
var email = obj.email
@neno-tech
neno-tech / code.gs
Created February 8, 2022 04:33
เว็บแอป CheckBox แบบดึงค่าจากชีต
var ss = SpreadsheetApp.openById('xxx')
function doGet(e) {
return HtmlService.createTemplateFromFile("index").evaluate()
.setTitle("WebApp Form Toggle-Show-Hide Password")
.addMetaTag('viewport', 'width=device-width, initial-scale=1')
.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
}
function saveData(obj) {
@neno-tech
neno-tech / code.gs
Last active February 5, 2022 16:28
ฟอร์มเว็บแอปแบบเขียนโค้ดสั้นสุดๆ โดยใช้การเช็คค่ากับ Header
function doGet() {
return HtmlService.createTemplateFromFile('55')
.evaluate()
.addMetaTag('viewport', 'width=device-width, initial-scale=1')
.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL)
}
function saveData(obj) {
let ss = SpreadsheetApp.getActive().getSheets()[0]
let header = ss.getRange(1, 1, 1, ss.getLastColumn()).getValues()[0]
let newrow = []
@neno-tech
neno-tech / code.gs
Last active February 2, 2022 06:10
ฟอร์มบันทึกลงชีตด้วยวิธี doPost
function doGet(e) {
var htmlOutput = HtmlService.createTemplateFromFile('index');
var courses = getCourses()
htmlOutput.message = ''
htmlOutput.courses = courses
return htmlOutput.evaluate()
}
function doPost(e) {
var name = e.parameters.name.toString();
var courses = e.parameters.courses.toString();
try {
var folder = DriveApp.getFolderById('xxx');//ไอดีโฟลเดอร์
var date = Utilities.formatDate(new Date(),'GMT+7','dd/MM/yyyy')
var contentType = data.substring(5, data.indexOf(';')),
bytes = Utilities.base64Decode(data.substr(data.indexOf('base64,') + 7)),
blob = Utilities.newBlob(bytes, contentType, file),
file = folder.createFolder([name,date].join(" ")).createFile(blob),
filelink = file.getUrl();
var lock = LockService.getPublicLock();
lock.waitLock(30000);