0

我猜测了与朋友一起玩的电子表格,我想向编辑隐藏我写的代码

我在网上阅读了很多关于这方面的内容,我似乎最好的选择是将我的代码作为附加组件,所以我尝试了并完成了指南所说的所有内容,附加组件添加到我的电子表格中,但代码不工作,不是 onEdit 而不是触发器(设置为每小时工作)。在 chrome 网上商店,我认为我做的一切都很好(我再次使用了指南)作为“草稿”状态或“发布给测试人员”没有区别它不起作用! 尝试几个小时让它工作,但我做不到,我是编码新手,那个项目比我预期的要大,我必须隐藏那个代码,不胜感激任何帮助!

这是我的代码:

var colMin = 7; 
var minRow = 3;

function onEdit(){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var range = sheet.getActiveRange();
  var currRow = range.getRow();
  var currCol = range.getColumn();

  if(sheet.getName() == "Bets") {
    if(currCol >= colMin && currCol <= getLastCol("Bets") && currRow >= minRow) {
      betingRange(sheet, ss, currRow, currCol);
    } else if (currCol == 5 && currRow >= minRow) {
      dataValBuilder(currRow, sheet.getRange(currRow, 5).getValue());
    }
  }

  if(sheet.getName() == "Players") {
    if(currCol == 3) {

.............................. etc...................

..............using some Protection and named ranged commands........

  SpreadsheetApp.getActiveSpreadsheet().setNamedRange(player.gamesLogNR, gamesLogSheet.getRange(3,lastColgamesLog+3,1000));

  SpreadsheetApp.getActiveSpreadsheet().addEditor(player.email);

  var protection = rangePro.protect().setDescription(player.name+" betting area, player id: "+player.id);
  protection.setRangeName(player.betsNR);
  protection.removeEditors(protection.getEditors());
  if (player.email.length > 5) {
    protection.addEditor(player.email);
  }
}
 .......... etc...........

 .......timesup is the Trigger function (works hourly)............

function timesUp() {
  var betsScore = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("betsScoreHolder");
  var listsSheet = .......ETC........


        } else {
          SpreadsheetApp.getActiveSpreadsheet().setNamedRange("rowsBlock", betsSheet.getRange(3, 7, (n+1)-3, betsLastCol-6));
        }
      }
      break;
    }
  }
}

同样,我的代码已经安装到电子表格中,但它的行为不像脚本编辑器中的代码,我的意思是它根本不工作。

请帮忙。

4

0 回答 0