Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 我的代码在脚本编辑器中工作,但不是作为附加组件_Google Apps Script_Google Sheets_Chrome Web Store_Google Apps Script Addon - Fatal编程技术网

Google apps script 我的代码在脚本编辑器中工作,但不是作为附加组件

Google apps script 我的代码在脚本编辑器中工作,但不是作为附加组件,google-apps-script,google-sheets,chrome-web-store,google-apps-script-addon,Google Apps Script,Google Sheets,Chrome Web Store,Google Apps Script Addon,我对《老友记》电子表格中的游戏进行了猜测,我想隐藏我编写的代码,不让编辑知道 我在网上读了很多关于这方面的文章,我觉得最好的选择是把我的代码作为一个附加组件,所以我尝试了,做了所有的事情,附加组件添加到了我的电子表格中,但是代码不起作用,不是onEdit,也不是触发器(设置为每小时工作一次)。在chrome网上商店,我认为我做的一切都很好(我再次使用了指南),作为状态,或是没有区别,我尝试了几个小时来让它工作,但我做不到,我是编码新手,而且这个项目比我预期的要大,我必须隐藏代码,我感谢任何帮助

我对《老友记》电子表格中的游戏进行了猜测,我想隐藏我编写的代码,不让编辑知道

我在网上读了很多关于这方面的文章,我觉得最好的选择是把我的代码作为一个附加组件,所以我尝试了,做了所有的事情,附加组件添加到了我的电子表格中,但是代码不起作用,不是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;
    }
  }
}
var colMin=7;
var minRow=3;
函数onEdit(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheet=ss.getActiveSheet();
var range=sheet.getActiveRange();
var currRow=range.getRow();
var currCol=range.getColumn();
如果(sheet.getName()=“下注”){
如果(currCol>=colMin&&currCol=minRow){
betingRange(板材、不锈钢、currRow、currCol);
}否则如果(currCol==5&&currRow>=minRow){
dataValBuilder(currRow,sheet.getRange(currRow,5.getValue());
}
}
如果(sheet.getName()=“玩家”){
如果(currCol==3){
等
使用一些保护和命名的远程命令。。。。。。。。
SpreadsheetApp.getActiveSpreadsheet().setNamedRange(player.gamesLogNR,gamesLogSheet.getRange(3,lastColgamesLog+31000));
SpreadsheetApp.getActiveSpreadsheet().addEditor(player.email);
var protection=rangePro.protect().setDescription(player.name+“下注区域,玩家id:”+player.id);
protection.setRangeName(player.betsNR);
protection.removeditors(protection.getEditors());
如果(player.email.length>5){
保护。添加器(player.email);
}
}
等
…timesup是触发功能(每小时工作)。。。。。。。。。。。。
函数timesUp(){
var betscore=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“betsScoreHolder”);
var列表表=……等。。。。。。。。
}否则{
电子表格app.getActiveSpreadsheet().setNamedRange(“rowsBlock”,betsheet.getRange(3,7,(n+1)-3,betsLastCol-6));
}
}
打破
}
}
}
同样,我的代码加载项已经安装到电子表格中,但它的行为与脚本编辑器中的代码不同,我的意思是它根本不起作用


请提供帮助。

“它不工作”不是有效的问题描述。您提到了简单触发器函数
onEdit
,但您的代码使用了需要授权的功能,这些功能在简单触发器中不起作用。你查阅过你的项目错误记录吗?@tehhowch谢谢你的评论,sry关于标题这是我最好的了>>我将更改编辑以安装able触发器希望它能工作,关于错误我真的不知道我需要怎么做,你能帮我品脱一下吗?给我举个例子,再次感谢@EliGueta See@tehhowch-你的评论切中要害。我设法使用了可安装的触发器,这个插件工作得很好!谢谢