将两个脚本合并到Google工作表插件中

时间:2018-04-10 12:48:22

标签: google-apps-script google-sheets

编辑感谢您的帮助,我已按照以下方式更新了脚本,但它仍然无法从附加菜单创建子菜单。

// Hide empty rows in PRINT sheet
function onOpen(e) {
 var menu = SpreadsheetApp.getUi().createMenu('Print Ready');

 menu.addItem('Print Ready', 'PRINTREADY');
 menu.addToUi(); 

}
function PRINTREADY(){
  var shname='PRINT';//<<<<<<<<<<<<<<<change to appropriate sheet name
  var rw1=4, rw2=258;
  var s, nrws, data, i;
  nrws=rw2-rw1+1;
  s=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(shname);
  data=s.getRange(rw1, 1, nrws, s.getLastColumn()).getValues();
  s.showRows(rw1, nrws);
  for (i in data) if (data[i].every(function(x) {return x=='';})) s.hideRows(1*i+rw1);
}

  // Sort PANTRY LIST A-Z
  var sh = SpreadsheetApp.getActiveSheet();
  if( sh.getName() == "PANTRY LIST" ) {
    var editedCell = sh.getActiveRange().getColumnIndex();
    if(editedCell == 1) { 
    var range = sh.getRange("PANTRY LIST!A3:Z");
    range.sort({column: 1});
  }
}

我正在尝试为我编写的电子表格中的某些餐馆菜单部署工作表插件。对于我需要包含脚本的一些功能,它们本身非常简单:

脚本1: HideEmptyRows - 此脚本隐藏空行以使配方准备好打印,它应仅在带有工作表名称PRINT的配方文档上运行。

脚本2: SortList - 此脚本只需对打开的表单A-Z进行排序,每15分钟一次,它只在带有工作表名称PANTRY LIST的Pantry List文档上运行。

它们作为脚本单独运行,但是当我将它们组合成工作表时,插件脚本1不会生成菜单,并且我从脚本2中获得Range Not Found错误。

脚本1

function onOpen(e) {
 var menu = SpreadsheetApp.getUi().createMenu('Print Ready')

 menu.addItem('Make my recipe ready to print', 'PRINTREADY')
 .addToUi(); 
}
function PRINTREADY(){
  var shname='PRINT';//<<<<<<<<<<<<<<<change to appropriate sheet name
  var rw1=4, rw2=258;
  var s, nrws, data, i;
  nrws=rw2-rw1+1;
  s=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(shname);
  data=s.getRange(rw1, 1, nrws, s.getLastColumn()).getValues();
  s.showRows(rw1, nrws);
  for (i in data) if (data[i].every(function(x) {return x=='';})) s.hideRows(1*i+rw1);
}

脚本2

function onOpen(){
  var sh = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var editedCell = sh.getActiveRange().getColumnIndex();

  if(editedCell == 1) { 
    var range = sh.getRange("PANTRY LIST!A3:Z");
    range.sort({column: 1});
  }
}

有谁知道如何将它们组合成一个我可以作为插件部署的脚本?

由于

0 个答案:

没有答案