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:

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];
    }
    
  }
 } 
  
}

Xem video hướng dẫn