Google Apps scrip Tạo form nhập liệu – Hình ảnh, thêm mới, tìm kiếm, cập nhật, xóa
Giaoan.link chia sẻ đến các bạn về Google Apps scrip Tạo form nhập liệu – Hình ảnh, thêm mới, tìm kiếm, cập nhật, xóa. Việc thay đổi vị trí các trường để tùy chỉnh theo giao diện bạn muốn thì bàn cần xem để thay đổi các Cell tương ứng nhằm đảm bảo sự hoạt động của form. Để hiểu hơn, các bạn nên xem clip hướng dẫn bên dưới.
Các bài tập ứng dụng của excel khác:
- Appscript Webapp | Kéo thả các Items theo 2 chiều Dọc – Ngang, Ứng dụng sắp xếp chu trình công việc
- GOOGLE SHEET WEBAPP TRA CỨU 34 TỈNH THÀNH VIỆT NAM MỚI NHẤT (SÁP NHẬP 2025)
- Quản Lý Tài Chính Cá Nhân Hiệu Quả Với Web App Google Apps Script
- Google sheet, apps script, webapp “Bé Vui Phép Nhân” – Công Cụ Luyện Toán Trực Quan Cho Học Sinh Tiểu Học
- Google sheet webapp Bé Vui Học Toán – Ứng dụng Luyện Phép Chia Trực Quan Cho Học Sinh Lớp 3
- Googlesheet appscript – Hệ Thống Đăng Ký Hồ Sơ Trực Tuyến (Online Registration Portal)
- [Share Code] Biến Google Sheet thành Web App Tra Cứu Dự Án & Tài Liệu (Miễn Phí Hosting)
- Hệ Thống Quản Lý Phòng Game “Cloud-Native” với Google Apps Script
- Hệ Thống Điều Phối & Quản Lý Đội Xe Thông Minh (Web App)
- Biến Google Sheets thành Dashboard “Viễn Tưởng” phong cách Cyberpunk
Mã apps script
//Convert format url in Cell K15 ==================
=IFERROR(ARRAYFORMULA(CONCAT(CONCAT("https://drive.google.com/thumbnail?id=",(REGEXEXTRACT(C15,"([-\w]{25,})"))),"&sz=w960-h540")),)
//Show image in Cell H6 =====================
=image(SUBSTITUTE(trim(K15),"open?id","uc?export=download&id"))
// Save Data================================================
function submitData() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var formSS = ss.getSheetByName("Form"); //Form Sheet
var datasheet = ss.getSheetByName("Data"); //Data Sheet
//Input Values
var values = [[formSS.getRange("C6").getValue(),
formSS.getRange("C8").getValue(),
formSS.getRange("C10").getValue(),
formSS.getRange("F6").getValue(),
formSS.getRange("F10").getValue(),
formSS.getRange("F8").getValue(),
formSS.getRange("C12").getValue(),
formSS.getRange("K15").getValue()
]];
// Save New Data
datasheet.getRange(datasheet.getLastRow()+1, 1, 1, 8).setValues(values);
SpreadsheetApp.getUi().alert(' "Dữ liệu mới đã được tạo cho - NV #' + formSS.getRange("C6").getValue() +' "');
formSS.getRange("C6").clear();
formSS.getRange("C8").clear();
formSS.getRange("C10").clear();
formSS.getRange("C12").clear();
formSS.getRange("C15").clear();
formSS.getRange("F6").clear();
formSS.getRange("F8").clear();
formSS.getRange("F10").clear();
}
// Clear form =====================================
function ClearCell() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var formSS = ss.getSheetByName("Form"); //Form Sheet
formSS.getRange("C6").clear();
formSS.getRange("C8").clear();
formSS.getRange("C10").clear();
formSS.getRange("C12").clear();
formSS.getRange("C15").clear();
formSS.getRange("F6").clear();
formSS.getRange("F8").clear();
formSS.getRange("F10").clear();
return true ;
}
//Search data========================
var SPREADSHEET_NAME = "Data";
var SEARCH_COL_IDX = 0;
var RETURN_COL_IDX = 0;
function searchStr() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var formSS = ss.getSheetByName("Form"); //Form Sheet
var str = formSS.getRange("C4").getValue();
var values = ss.getSheetByName(SPREADSHEET_NAME).getDataRange().getValues();
for (var i = 0; i < values.length; i++) {
var row = values[i];
if (row[SEARCH_COL_IDX] == str) {
formSS.getRange("C6").setValue(row[0]) ;
formSS.getRange("C8").setValue(row[1]);
formSS.getRange("C10").setValue(row[2]);
formSS.getRange("F6").setValue(row[3]);
formSS.getRange("F10").setValue(row[4]);
formSS.getRange("F8").setValue(row[5]);
formSS.getRange("C12").setValue(row[6]);
formSS.getRange("C15").setValue(row[7]);
return row[RETURN_COL_IDX];
}
}
}
//Update====================
function updateData() {
var SPREADSHEET_NAME = "Data";
var SEARCH_COL_IDX = 0;
var RETURN_COL_IDX = 0;
var ss = SpreadsheetApp.getActiveSpreadsheet();
var formSS = ss.getSheetByName("Form"); //Form Sheet
var datasheet = ss.getSheetByName("Data"); //Data Sheet
var str = formSS.getRange("C4").getValue();
var values = ss.getSheetByName(SPREADSHEET_NAME).getDataRange().getValues();
for (var i = 0; i < values.length; i++) {
var row = values[i];
if (row[SEARCH_COL_IDX] == str) {
var INT_R = i+1
var values1 = [[formSS.getRange("C6").getValue(),
formSS.getRange("C8").getValue(),
formSS.getRange("C10").getValue(),
formSS.getRange("F6").getValue(),
formSS.getRange("F10").getValue(),
formSS.getRange("F8").getValue(),
formSS.getRange("C12").getValue(),
formSS.getRange("K15").getValue()
]];
datasheet.getRange(INT_R, 1, 1, 8).setValues(values1);
SpreadsheetApp.getUi().alert(' "Dữ liệu đã được cập nhật cho - NV #' + formSS.getRange("C6").getValue() +' "');
return row[RETURN_COL_IDX];
}
}
}
function rowDelete() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var formSS = ss.getSheetByName("Form"); //Form Sheet
var datasheet = ss.getSheetByName("Data"); //Data Sheet
var ui = SpreadsheetApp.getUi();
var response = ui.alert(
'Xóa mẫu tin này?',
ui.ButtonSet.YES_NO);
// Process the user's response.
if (response == ui.Button.YES) {
var str = formSS.getRange("C4").getValue();
var values = ss.getSheetByName(SPREADSHEET_NAME).getDataRange().getValues();
for (var i = 0; i < values.length; i++) {
var row = values[i];
if (row[SEARCH_COL_IDX] == str) {
var INT_R = i+1
datasheet.deleteRow(INT_R) ;
formSS.getRange("C6").clear();
formSS.getRange("C8").clear();
formSS.getRange("C10").clear();
formSS.getRange("C12").clear();
formSS.getRange("C15").clear();
formSS.getRange("F6").clear();
formSS.getRange("F8").clear();
formSS.getRange("F10").clear();
return row[RETURN_COL_IDX];
}
}
}
}
