Onna machan Open Code eka update karapan puluwan widihata
Code:
function onOpen() {
SpreadsheetApp.getUi().createMenu("BookUpdate")
.addSeparator()
.addItem("Batch update", 'processResponses')
.addSeparator()
.addItem("Single update", 'singleUpdate')
.addToUi();
}
//---------------------------------------------------------------------------------------
function processResponses() {
var file = SpreadsheetApp.getActive();
var inSheet = file.getSheetByName('Form Responses 1');
var activitySheet = file.getSheetByName('Sheet1');
var configSheet = file.getSheetByName('Config');
var lastProcessedRow = configSheet.getRange(2, 1).getValue();
var rowLeftInProgress = configSheet.getRange(2, 2).getValue();
var inLastRow = inSheet.getLastRow();
var inLastColumn = inSheet.getLastColumn();
var newResponses = false;
var inRow = '';
//check if new responses have been entered
if(inLastRow >lastProcessedRow)
{
newResponses = true;
}
//start processing the rest of the items in the last row and then move to the rest
if(newResponses)
{
inRow = lastProcessedRow+1;
//process new responses
var noResponses = inLastRow-lastProcessedRow;
for(var row=inRow;row<=inLastRow;row++)
{
processRow(row);
configSheet.getRange(2, 1).setValue(row);
if(row == inLastRow)
{
inSheet.sort(1, true);
}
if(inSheet.getRange(row,1).getValue() ==""){
row=inLastRow+1;
}
}
}
}
//---------------------------------------------------------------------------------------
function processRow(row)
{
var file = SpreadsheetApp.getActive();
var inSheet = file.getSheetByName('Form Responses 1');
var activitySheet = file.getSheetByName('Sheet1');
var configSheet = file.getSheetByName('Config');
var lastProcessedRow = configSheet.getRange(2, 1).getValue();
var rowLeftInProgress = configSheet.getRange(2, 2).getValue();
var inLastRow = inSheet.getLastRow();
var inLastColumn = inSheet.getLastColumn();
var outLastColumn = activitySheet.getLastColumn();
var outLastRow = activitySheet.getLastRow();
var ui = SpreadsheetApp.getUi();
if(outLastRow==1){
outLastRow = outLastRow+1;
}
var array = inSheet.getRange(row, 1, 1, inLastColumn).getValues()[0];
var approve;
var timestamp =array[0];
var bookName = array[1];
var booktype = array[2];
var author = array[3];
var trans = array[4];
var resultRN = ui.prompt('Approval procees','Approve the BOOK',ui.ButtonSet.OK_CANCEL);
var button1 = resultRN.getSelectedButton();
//when the OK click
if (button1 == ui.Button.OK) {
approve = resultRN.getResponseText()
if(approve.toUpperCase()== "OK" ){
var outArray =[];
outArray[0] =timestamp;
outArray[1] = bookName;
outArray[2] = booktype;
outArray[3] = author;
outArray[4] = trans;
outArray[5] = approve;
activitySheet.getRange(outLastRow,1,1, outLastColumn).setValues([outArray]);
}
}else if (response.getSelectedButton() == ui.Button.NO) {
//no update
var a='Update Cancel.';
} else {
// no update
var a='Update Cancel.';
}
}
//---------------------------------------------------------------------------------------
function singleUpdate(){
var ui = SpreadsheetApp.getUi();
var resultRN = ui.prompt('Enter Row Number','Please enter Row Number:',ui.ButtonSet.OK_CANCEL);
var button1 = resultRN.getSelectedButton();
var rowNumber =parseInt(resultRN.getResponseText());
//when the OK click
if (button1 == ui.Button.OK) {
processRow(rowNumber);
ui.alert(' Chanegs apply.');
}else if (response.getSelectedButton() == ui.Button.NO) {
ui.alert('Update Cancel.');
} else {
ui.alert('Update Cancel.');
}
}
