阻止用户在Google电子表格中添加新工作表

时间:2015-07-02 14:34:29

标签: google-apps-script google-sheets

是否可以禁止用户向Google电子表格添加新工作表?我基本上想要禁用" +"和"添加1000行"电子表格的功能。

肖恩

1 个答案:

答案 0 :(得分:0)

一般来说,您无法更改电子表格“原生”功能,因此答案是否定的。

您可以尝试一些@Kriggs评论中建议的解决方法,但您可能不会觉得它非常实用。

我想你是在问这个问题,因为有些用户正在弄乱你的电子表格做出无意的错误?如果是这种情况,那么最好的方法可能是创建一个onOpen函数,当文档打开它时将“清理”文档,删除所有不必要的行和列并删除空表。

如果您需要有关如何实现此目标的更多信息,请编辑您的问题以添加更多详细信息。

编辑:

奖励:演示代码

function resetPageLayout() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sh = ss.getSheetByName('Sheet1');
  ss.toast('Now processing your sheet','Wait a few seconds',5);
  if(sh.getMaxRows()-sh.getLastRow()>0){sh.deleteRows(sh.getLastRow()+1, sh.getMaxRows()-sh.getLastRow())};
  if(sh.getMaxColumns()-sh.getLastColumn()>0){sh.deleteColumns(sh.getLastColumn()+1, sh.getMaxColumns()-sh.getLastColumn())};
  var sheets = ss.getSheets();
  for(var n=0;n<sheets.length;n++){
    if(sheets[n].getName()!='Sheet1'){
      try{
        ss.deleteSheet(sheets[n])}catch(err){
          Browser.msgBox('Can\'t delete Sheet named "'+sheets[n].getName()+'" ('+err+')');
        }
    }
  }
     SpreadsheetApp.flush();
}