Google sheets Google Sheet的一系列基本功能组合在一起

Google sheets Google Sheet的一系列基本功能组合在一起,google-sheets,google-sheets-api,google-sheets-formula,Google Sheets,Google Sheets Api,Google Sheets Formula,所以我对谷歌表单还不熟悉。我正在用纸张为一家小公司做一份检查报告。我想在工作表底部添加一个按钮,该按钮执行以下脚本: 复本 将工作表重命名为单元格值+今天的日期。i、 e.01011980 将工作表以PDF格式发送给收件人 最后清除原始主模板表中的输入值 我已经研究了如何做到每一个,其中一些是简单的,但我不知道如何将它们结合起来。我可以将所有函数单独添加到一起而不需要任何额外的语法吗?在此方面的任何帮助都将不胜感激。多谢各位 我相信您可以创建另一个调用您的函数的函数,如下所示: function

所以我对谷歌表单还不熟悉。我正在用纸张为一家小公司做一份检查报告。我想在工作表底部添加一个按钮,该按钮执行以下脚本:

  • 复本

  • 将工作表重命名为单元格值+今天的日期。i、 e.01011980

  • 将工作表以PDF格式发送给收件人

  • 最后清除原始主模板表中的输入值


  • 我已经研究了如何做到每一个,其中一些是简单的,但我不知道如何将它们结合起来。我可以将所有函数单独添加到一起而不需要任何额外的语法吗?在此方面的任何帮助都将不胜感激。多谢各位

    我相信您可以创建另一个调用您的函数的函数,如下所示:

    function doAllStuff() {
      doStuff();
      doMoreStuff();
    }
    
    我是这样做的:

    function AllinOne() {
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var name = "Inspection";
      var sheet = ss.getSheetByName("Inspection").copyTo(ss);
      var newname = ss.getSheetByName("Inspection").getRange(2, 2).getValue();
      var newnamedate = ss.getSheetByName("Inspection").getRange(3, 2).getValue();
      var sheetx = ss.getActiveSheet()
      var thisSheet = sheetx.getName();
      var actualSheetName = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName()
      var sheetfinal = ss.getSheetByName("Inspection")
    
    
    
      var old = ss.getSheetByName(newname+newnamedate);
      if (old) ss.deleteSheet(old); 
      sheet.setName(newname+newnamedate); //copies the sheet and renames it to "store+date"
      ss.setActiveSheet(sheet)
    
    // below is pdf conversion
     var originalSpreadsheet = SpreadsheetApp.getActive();
    
    var sourcesheet = originalSpreadsheet.getActiveSheet();
    var sourcerange = sourcesheet.getRange('A1:B176');  // range to get - here I get all of columns which i want
    var sourcevalues = sourcerange.getValues();
    var data = sourcesheet.getDataRange().getValues();
    
    var newSpreadsheet = SpreadsheetApp.create(thisSheet); // can give any name.
    var sheetnow = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
    var projectname = SpreadsheetApp.getActiveSpreadsheet();
    var sheetz = sourcesheet.copyTo(newSpreadsheet);
    var destrange = sheetz.getRange('A1:B176');
    destrange.setValues(sourcevalues);
    newSpreadsheet.getSheetByName('Sheet1').activate();
    newSpreadsheet.deleteActiveSheet();
    
    var pdf = DriveApp.getFileById(newSpreadsheet.getId());
    var theBlob = pdf.getBlob().getAs('application/pdf').setName(newname+newnamedate);
    
    var folderID = "File_ID"; // Folder id to save in a folder.
    var folder = DriveApp.getFolderById(folderID);
    var newFile = folder.createFile(theBlob);
    
    DriveApp.getFileById(newSpreadsheet.getId()).setTrashed(true);  
    
      MailApp.sendEmail("Email","New Manager Inspection: "+newname+newnamedate, "A new Manager Inspection Report has been added to the Drive.");
    
      ss.getSheetByName(name).getRangeList(["B176","B150:B164","B138:B146","B129:B134","B119:B125","B106:B115","B99:B102","B84:B95","B78:B80","B66:B74","B55:B62","B48:B51","B34:B44","B25:B30","B18:B21","B10:B14","B4:B7","B2","B16","B23","B32","B46","B53","B53","B64","B76","B82","B97","B104","B117","B127","B136","B148","B166"]).clearContent();
      ss.setActiveSheet(sheetfinal);
    
      SpreadsheetApp.getUi().alert("Report Submitted, Please do NOT Resubmit. Thank You");
    
    
    
    }