Search code examples
google-apps-scriptgoogle-sheetsmobilegoogle-apps

Google Sheets Button calls associated app script on desktop but not in Google Sheets app


EDIT 1:

Based on the answer marked as resolved below, here is the final added functions that caused it to work. Note that I was never to get the actual button to work on the Sheets mobile app but the checkbox as a workaround does the trick.

function onEditTrigger(e) {
  if (e.range.getSheet().getName() != "Invoice Template" || e.range.columnStart != 9 || e.range.rowStart != 5 || e.value != "TRUE") return;
  e.range.setValue("FALSE");
  CreateInvoice();
}


function createOnEditTrigger() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  ScriptApp.newTrigger('onEditTrigger')
      .forSpreadsheet(ss)
      .onEdit()
      .create();
}

END EDIT 1

I have a Google Sheet that has a button and an associated checkbox that when enabled, the button calls out to an app script that changes the values of some other cells. Everything works fine on desktop Google Sheets but on the mobile app it seems as if the button cannot even be pressed no matter what I try. I tried one suggested solution which was to use the onEdit function as an installable trigger instead of a simple trigger but that didn't seem to make a difference. Is there a solution or is an app script button just not supported in the Google Sheets app?

Below is the code I have including the installable trigger which works on desktop.

function CreateInvoice()
{
  //DEFINE ALL ACTIVE SHEETS
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  
  //DEFINE MENU SHEET          
  var invoiceSheet = ss.getSheetByName("Invoice Template");
  var customerSheet = ss.getSheetByName("Client Info");
  var settingSheet = ss.getSheetByName("Invoice Number Settings");
  var printSheet = ss.getSheetByName("Inv Print Copy");
  var invoiceLogSheet = ss.getSheetByName("Invoice Log");


  //GET VALUES
  var customer = invoiceSheet.getRange(4,2).getValue();
  var srvc_date = invoiceSheet.getRange(3,6).getValue();
  var inv_number = invoiceSheet.getRange(4,6).getValue();
  var po_number = invoiceSheet.getRange(5,6).getValue();
  var type_1 = invoiceSheet.getRange(8,1).getValue();
  var type_2 = invoiceSheet.getRange(9,1).getValue();
  var type_3 = invoiceSheet.getRange(10,1).getValue();
  var type_4 = invoiceSheet.getRange(11,1).getValue();
  var type_5 = invoiceSheet.getRange(12,1).getValue();
  var type_6 = invoiceSheet.getRange(13,1).getValue();
  var type_7 = invoiceSheet.getRange(14,1).getValue();
  var type_8 = invoiceSheet.getRange(15,1).getValue();
  var type_9 = invoiceSheet.getRange(16,1).getValue();
  var type_10 = invoiceSheet.getRange(17,1).getValue();
  var type_11 = invoiceSheet.getRange(18,1).getValue();
  var type_12 = invoiceSheet.getRange(19,1).getValue();
  var item_description_1 = invoiceSheet.getRange(8,2).getValue();
  var item_description_2 = invoiceSheet.getRange(9,2).getValue();
  var item_description_3 = invoiceSheet.getRange(10,2).getValue();
  var item_description_4 = invoiceSheet.getRange(11,2).getValue();
  var item_description_5 = invoiceSheet.getRange(12,2).getValue();
  var item_description_6 = invoiceSheet.getRange(13,2).getValue();
  var item_description_7 = invoiceSheet.getRange(14,2).getValue();
  var item_description_8 = invoiceSheet.getRange(15,2).getValue();
  var item_description_9 = invoiceSheet.getRange(16,2).getValue();
  var item_description_10 = invoiceSheet.getRange(17,2).getValue();
  var item_description_11 = invoiceSheet.getRange(18,2).getValue();
  var item_description_12 = invoiceSheet.getRange(19,2).getValue();
  var work_description_1= invoiceSheet.getRange(8,4).getValue();
  var work_description_2= invoiceSheet.getRange(9,4).getValue();
  var work_description_3= invoiceSheet.getRange(10,4).getValue();
  var work_description_4= invoiceSheet.getRange(11,4).getValue();
  var work_description_5= invoiceSheet.getRange(12,4).getValue();
  var work_description_6= invoiceSheet.getRange(13,4).getValue();
  var work_description_7= invoiceSheet.getRange(14,4).getValue();
  var work_description_8= invoiceSheet.getRange(15,4).getValue();
  var work_description_9= invoiceSheet.getRange(16,4).getValue();
  var work_description_10= invoiceSheet.getRange(17,4).getValue();
  var work_description_11= invoiceSheet.getRange(18,4).getValue();
  var work_description_12= invoiceSheet.getRange(19,4).getValue();
  var price_1 = invoiceSheet.getRange(8,7).getValue();
  var price_2 = invoiceSheet.getRange(9,7).getValue();
  var price_3 = invoiceSheet.getRange(10,7).getValue();
  var price_4 = invoiceSheet.getRange(11,7).getValue();
  var price_5 = invoiceSheet.getRange(12,7).getValue();
  var price_6 = invoiceSheet.getRange(13,7).getValue();
  var price_7 = invoiceSheet.getRange(14,7).getValue();
  var price_8 = invoiceSheet.getRange(15,7).getValue();
  var price_9 = invoiceSheet.getRange(16,7).getValue();
  var price_10 = invoiceSheet.getRange(17,7).getValue();
  var price_11 = invoiceSheet.getRange(18,7).getValue();
  var price_12 = invoiceSheet.getRange(19,7).getValue();
  var inv_number = settingSheet.getRange(3,2).getValue();
  var next_invoice_number = inv_number + 1;
  settingSheet.getRange(3,2).setValue(next_invoice_number);  
  var total_price = invoiceSheet.getRange(20,7).getValue();
  var remark = invoiceSheet.getRange(21,1).getValue();


 //SET VALUES TO NOTHING
  printSheet.getRange(4,2).setValue("");
  printSheet.getRange(3,6).setValue("");
  printSheet.getRange(4,6).setValue("");
  printSheet.getRange(5,6).setValue("");
  printSheet.getRange(8,1).setValue("");
  printSheet.getRange(9,1).setValue("");
  printSheet.getRange(10,1).setValue("");
  printSheet.getRange(11,1).setValue("");
  printSheet.getRange(12,1).setValue("");
  printSheet.getRange(13,1).setValue("");
  printSheet.getRange(14,1).setValue("");
  printSheet.getRange(15,1).setValue("");
  printSheet.getRange(16,1).setValue("");
  printSheet.getRange(17,1).setValue("");
  printSheet.getRange(18,1).setValue("");
  printSheet.getRange(19,1).setValue("");
  printSheet.getRange(8,2).setValue("");
  printSheet.getRange(9,2).setValue("");
  printSheet.getRange(10,2).setValue("");
  printSheet.getRange(11,2).setValue("");
  printSheet.getRange(12,2).setValue("");
  printSheet.getRange(13,2).setValue("");
  printSheet.getRange(14,2).setValue("");
  printSheet.getRange(15,2).setValue("");
  printSheet.getRange(16,2).setValue("");
  printSheet.getRange(17,2).setValue("");
  printSheet.getRange(18,2).setValue("");
  printSheet.getRange(19,2).setValue("");
  printSheet.getRange(8,4).setValue("");
  printSheet.getRange(9,4).setValue("");
  printSheet.getRange(10,4).setValue("");
  printSheet.getRange(11,4).setValue("");
  printSheet.getRange(12,4).setValue("");
  printSheet.getRange(13,4).setValue("");
  printSheet.getRange(15,4).setValue("");
  printSheet.getRange(16,4).setValue("");
  printSheet.getRange(17,4).setValue("");
  printSheet.getRange(18,4).setValue("");
  printSheet.getRange(19,4).setValue("");
  printSheet.getRange(8,7).setValue("");
  printSheet.getRange(9,7).setValue("");
  printSheet.getRange(10,7).setValue("");
  printSheet.getRange(11,7).setValue("");
  printSheet.getRange(12,7).setValue("");
  printSheet.getRange(13,7).setValue("");
  printSheet.getRange(14,7).setValue("");
  printSheet.getRange(15,7).setValue("");
  printSheet.getRange(16,7).setValue("");
  printSheet.getRange(17,7).setValue("");
  printSheet.getRange(18,7).setValue("");
  printSheet.getRange(19,7).setValue("");
  printSheet.getRange(20,7).setValue("");
  printSheet.getRange(21,1).setValue("");

  // SET VALUES ON INVOICE
  printSheet.getRange('F3').setValue(srvc_date).setFontFamily('Calibri').setFontSize(14).setFontColor("#3e01b84").setFontStyle('bold');
  printSheet.getRange('B4').setValue(customer).setFontFamily('Calibri').setFontSize(14).setFontColor("#3e01b84").setFontStyle('bold');
  printSheet.getRange('F4').setValue(inv_number).setFontFamily('Calibri').setFontSize(14).setFontColor("#3e01b84").setFontStyle('bold');
  printSheet.getRange('F5').setValue(po_number).setFontFamily('Calibri').setFontSize(12).setFontColor("3e01b84");
  printSheet.getRange('A8').setValue(type_1).setFontFamily('Calibri').setFontSize(9).setFontColor("3e01b84");
  printSheet.getRange('A9').setValue(type_2).setFontFamily('Calibri').setFontSize(9).setFontColor("3e01b84");
  printSheet.getRange('A10').setValue(type_3).setFontFamily('Calibri').setFontSize(9).setFontColor("3e01b84");
  printSheet.getRange('A11').setValue(type_4).setFontFamily('Calibri').setFontSize(9).setFontColor("3e01b84");
  printSheet.getRange('A12').setValue(type_5).setFontFamily('Calibri').setFontSize(9).setFontColor("3e01b84");
  printSheet.getRange('A13').setValue(type_6).setFontFamily('Calibri').setFontSize(9).setFontColor("3e01b84");
  printSheet.getRange('A14').setValue(type_7).setFontFamily('Calibri').setFontSize(9).setFontColor("3e01b84");
  printSheet.getRange('A15').setValue(type_8).setFontFamily('Calibri').setFontSize(9).setFontColor("3e01b84");
  printSheet.getRange('A16').setValue(type_9).setFontFamily('Calibri').setFontSize(9).setFontColor("3e01b84");
  printSheet.getRange('A17').setValue(type_10).setFontFamily('Calibri').setFontSize(9).setFontColor("3e01b84");
  printSheet.getRange('A18').setValue(type_11).setFontFamily('Calibri').setFontSize(9).setFontColor("3e01b84");
  printSheet.getRange('A19').setValue(type_12).setFontFamily('Calibri').setFontSize(9).setFontColor("3e01b84");
  printSheet.getRange('B8').setValue(item_description_1).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('B9').setValue(item_description_2).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('B10').setValue(item_description_3).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('B11').setValue(item_description_4).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('B12').setValue(item_description_5).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('B13').setValue(item_description_6).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('B14').setValue(item_description_7).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('B15').setValue(item_description_8).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('B16').setValue(item_description_9).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('B17').setValue(item_description_10).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('B18').setValue(item_description_11).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('B19').setValue(item_description_12).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('D8').setValue(work_description_1).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('D9').setValue(work_description_2).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('D10').setValue(work_description_3).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('D11').setValue(work_description_4).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('D12').setValue(work_description_5).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('D13').setValue(work_description_6).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('D14').setValue(work_description_7).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('D15').setValue(work_description_8).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('D16').setValue(work_description_9).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('D17').setValue(work_description_10).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('D18').setValue(work_description_11).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('D19').setValue(work_description_12).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('G8').setValue(price_1).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('G9').setValue(price_2).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('G10').setValue(price_3).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('G11').setValue(price_4).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('G12').setValue(price_5).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('G13').setValue(price_6).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('G14').setValue(price_7).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('G15').setValue(price_8).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('G16').setValue(price_9).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('G17').setValue(price_10).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('G18').setValue(price_11).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('G19').setValue(price_12).setFontFamily('Calibri').setFontSize(11).setFontColor("3e01b84");
  printSheet.getRange('G20').setValue(total_price).setFontFamily('Calibri').setFontSize(12).setFontColor("3e01b84").setFontStyle('bold');
  printSheet.getRange('A21').setValue(remark).setFontFamily('Calibri').setFontSize(10).setFontColor("3e01b84");


  //GET LAST ROW OF INVOICE LOG SHEET
  var nextRowInvoice = invoiceLogSheet.getLastRow() + 1;
  
  //POPULATE INVOICE LOG
  invoiceLogSheet.getRange(nextRowInvoice, 1).setValue(srvc_date);
  invoiceLogSheet.getRange(nextRowInvoice, 2).setValue(inv_number);
  invoiceLogSheet.getRange(nextRowInvoice, 3).setValue(po_number);
  invoiceLogSheet.getRange(nextRowInvoice, 4).setValue(customer);
  invoiceLogSheet.getRange(nextRowInvoice, 5).setValue(total_price);
  invoiceLogSheet.getRange(nextRowInvoice, 6).setValue(remark);
  invoiceLogSheet.getRange(nextRowInvoice, 7).setValue(type_1);
  invoiceLogSheet.getRange(nextRowInvoice, 8).setValue(item_description_1);
  invoiceLogSheet.getRange(nextRowInvoice, 9).setValue(work_description_1);
  invoiceLogSheet.getRange(nextRowInvoice, 10).setValue(price_1);
  invoiceLogSheet.getRange(nextRowInvoice, 11).setValue(type_2);
  invoiceLogSheet.getRange(nextRowInvoice, 12).setValue(item_description_2);
  invoiceLogSheet.getRange(nextRowInvoice, 13).setValue(work_description_2);
  invoiceLogSheet.getRange(nextRowInvoice, 14).setValue(price_2);
  invoiceLogSheet.getRange(nextRowInvoice, 15).setValue(type_3);
  invoiceLogSheet.getRange(nextRowInvoice, 16).setValue(item_description_3);
  invoiceLogSheet.getRange(nextRowInvoice, 17).setValue(work_description_3);
  invoiceLogSheet.getRange(nextRowInvoice, 18).setValue(price_3);
  invoiceLogSheet.getRange(nextRowInvoice, 19).setValue(type_4);
  invoiceLogSheet.getRange(nextRowInvoice, 20).setValue(item_description_4);
  invoiceLogSheet.getRange(nextRowInvoice, 21).setValue(work_description_4);
  invoiceLogSheet.getRange(nextRowInvoice, 22).setValue(price_4);
  invoiceLogSheet.getRange(nextRowInvoice, 23).setValue(type_5);
  invoiceLogSheet.getRange(nextRowInvoice, 24).setValue(item_description_5);
  invoiceLogSheet.getRange(nextRowInvoice, 25).setValue(work_description_5);
  invoiceLogSheet.getRange(nextRowInvoice, 26).setValue(price_5);
  invoiceLogSheet.getRange(nextRowInvoice, 27).setValue(type_6);
  invoiceLogSheet.getRange(nextRowInvoice, 28).setValue(item_description_6);
  invoiceLogSheet.getRange(nextRowInvoice, 29).setValue(work_description_6);
  invoiceLogSheet.getRange(nextRowInvoice, 30).setValue(price_6);
  invoiceLogSheet.getRange(nextRowInvoice, 31).setValue(type_7);
  invoiceLogSheet.getRange(nextRowInvoice, 32).setValue(item_description_7);
  invoiceLogSheet.getRange(nextRowInvoice, 33).setValue(work_description_7);
  invoiceLogSheet.getRange(nextRowInvoice, 34).setValue(price_7); 
  invoiceLogSheet.getRange(nextRowInvoice, 35).setValue(type_8);
  invoiceLogSheet.getRange(nextRowInvoice, 36).setValue(item_description_8);
  invoiceLogSheet.getRange(nextRowInvoice, 37).setValue(work_description_8);
  invoiceLogSheet.getRange(nextRowInvoice, 38).setValue(price_8);
  invoiceLogSheet.getRange(nextRowInvoice, 39).setValue(type_9);
  invoiceLogSheet.getRange(nextRowInvoice, 40).setValue(item_description_9);
  invoiceLogSheet.getRange(nextRowInvoice, 41).setValue(work_description_9);
  invoiceLogSheet.getRange(nextRowInvoice, 42).setValue(price_9);
  invoiceLogSheet.getRange(nextRowInvoice, 43).setValue(type_10);
  invoiceLogSheet.getRange(nextRowInvoice, 44).setValue(item_description_10);
  invoiceLogSheet.getRange(nextRowInvoice, 45).setValue(work_description_10);
  invoiceLogSheet.getRange(nextRowInvoice, 46).setValue(price_10);    
  invoiceLogSheet.getRange(nextRowInvoice, 47).setValue(type_11);
  invoiceLogSheet.getRange(nextRowInvoice, 48).setValue(item_description_11);
  invoiceLogSheet.getRange(nextRowInvoice, 49).setValue(work_description_11);
  invoiceLogSheet.getRange(nextRowInvoice, 50).setValue(price_11);
  invoiceLogSheet.getRange(nextRowInvoice, 51).setValue(type_12);
  invoiceLogSheet.getRange(nextRowInvoice, 52).setValue(item_description_12);
  invoiceLogSheet.getRange(nextRowInvoice, 53).setValue(work_description_12);
  invoiceLogSheet.getRange(nextRowInvoice, 54).setValue(price_12);  

  //DEFINE ALL ACTIVE SHEETS
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  
  //DEFINE INVOICE SHEET          
  var invoiceSheet = ss.getSheetByName("Invoice Template");
    
  //SET VALUES TO NOTHING
  invoiceSheet.getRange(4,2).setValue("");
  invoiceSheet.getRange(5,6).setValue("");
  invoiceSheet.getRange(8,1).setValue("");
  invoiceSheet.getRange(9,1).setValue("");
  invoiceSheet.getRange(10,1).setValue("");
  invoiceSheet.getRange(11,1).setValue("");
  invoiceSheet.getRange(12,1).setValue("");
  invoiceSheet.getRange(13,1).setValue("");
  invoiceSheet.getRange(14,1).setValue("");
  invoiceSheet.getRange(15,1).setValue("");
  invoiceSheet.getRange(16,1).setValue("");
  invoiceSheet.getRange(17,1).setValue("");
  invoiceSheet.getRange(18,1).setValue("");
  invoiceSheet.getRange(19,1).setValue("");
  invoiceSheet.getRange(8,2).setValue("");
  invoiceSheet.getRange(9,2).setValue("");
  invoiceSheet.getRange(10,2).setValue("");
  invoiceSheet.getRange(11,2).setValue("");
  invoiceSheet.getRange(12,2).setValue("");
  invoiceSheet.getRange(13,2).setValue("");
  invoiceSheet.getRange(14,2).setValue("");
  invoiceSheet.getRange(15,2).setValue("");
  invoiceSheet.getRange(16,2).setValue("");
  invoiceSheet.getRange(17,2).setValue("");
  invoiceSheet.getRange(18,2).setValue("");
  invoiceSheet.getRange(19,2).setValue("");
  invoiceSheet.getRange(8,4).setValue("");
  invoiceSheet.getRange(9,4).setValue("");
  invoiceSheet.getRange(10,4).setValue("");
  invoiceSheet.getRange(11,4).setValue("");
  invoiceSheet.getRange(12,4).setValue("");
  invoiceSheet.getRange(13,4).setValue("");
  invoiceSheet.getRange(14,4).setValue("");
  invoiceSheet.getRange(15,4).setValue("");
  invoiceSheet.getRange(16,4).setValue("");
  invoiceSheet.getRange(17,4).setValue("");
  invoiceSheet.getRange(18,4).setValue("");
  invoiceSheet.getRange(19,4).setValue("");
  invoiceSheet.getRange(8,7).setValue("");
  invoiceSheet.getRange(9,7).setValue("");
  invoiceSheet.getRange(10,7).setValue("");
  invoiceSheet.getRange(11,7).setValue("");
  invoiceSheet.getRange(12,7).setValue("");
  invoiceSheet.getRange(13,7).setValue("");
  invoiceSheet.getRange(14,7).setValue("");
  invoiceSheet.getRange(15,7).setValue("");
  invoiceSheet.getRange(16,7).setValue("");
  invoiceSheet.getRange(17,7).setValue("");
  invoiceSheet.getRange(18,7).setValue("");
  invoiceSheet.getRange(19,7).setValue("");
  invoiceSheet.getRange(21,1).setValue("");


 var wkbk = SpreadsheetApp.getActiveSpreadsheet()
 var spid = wkbk.getId();
 var file = DriveApp.getFileById(spid)

 var destinationFolder = DriveApp.getFolderById("1MZQmtTvxNPPj8jHpPYBqsdEwHKJySAaZ");
 var copyFile = file.makeCopy(wkbk.getName(), destinationFolder);

 var tempWkBk = SpreadsheetApp.openById(copyFile.getId())
 var sheets = tempWkBk.getSheets();
 var totalSheets = tempWkBk.getNumSheets();
 var theDate = Utilities.formatDate(new Date(), Session.getScriptTimeZone(), 'MMM dd, yyyy')

 for (var i = 0; i <= totalSheets-1; i++) {
   var sheet = sheets[i]
   var sheetName = sheet.getSheetName();
   Logger.log(sheetName)
   if(sheetName != "Inv Print Copy"){
   tempWkBk.deleteSheet(sheet)
   }  
 }

 var blobpdf   = tempWkBk.getAs('application/pdf')
 destinationFolder.createFile(blobpdf).setName("Inv" + " " + inv_number 
  + " " + customer +" "+ theDate);
 destinationFolder.removeFile(copyFile)

 }

 function onEditTrigger(e) {
  var activeCell = e.range;
  var reference = activeCell.getA1Notation();
  var sheetName2 = activeCell.getSheet().getName();
  var activeValue = activeCell.getValue();

  if(reference == 'I5' && sheetName2 == "Invoice Template" && activeValue == true) {
    createInvoice();
    activeCell.setValue(false);
  }
}

function createOnEditTrigger() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  ScriptApp.newTrigger('onEditTrigger')
      .forSpreadsheet(ss)
      .onEdit()
      .create();
}

/*
function onEdit() {
  let activeCell = SpreadsheetApp.getActiveSpreadsheet().getActiveCell()
  let reference = activeCell.getA1Notation()
  let sheetName2 = activeCell.getSheet().getName()
  let activeValue = activeCell.getValue()

  if(reference == "I5" && sheetName2 == "Invoice Template" && activeValue == true) {
    createInvoice_toupdate();
    //createInvoice();
    activeCell.setValue(false)
  }
}
*/

Some resources suggested to create an installable trigger for the onEdit which I did, but that did not seem to make a difference. Based on what I looked into, maybe that only solves the issue of working on a mobile browser rather than working in the Google Sheets app. It's possible that the only way to use this on mobile is to open as desktop on a mobile browser but I'm unsure if this is the case.


Solution

  • I think something like this would work:

    function onEditTrigger(e) {
      if (e.range.getSheet().getName() != "Invoice Template" || e.range.columnStart != "checkbox col" || e.range.rowStart != "checkbox row" || e.value != "TRUE") return;
      e.range.setValue("FALSE");
      createInvoice();
    }
    

    You will need to replace the notes with checkbox row and column numbers and just use it as a button.