Google脚本无法执行任何操作(与Google表格绑定的Google脚本)

时间:2018-05-30 03:40:01

标签: google-apps-script google-sheets

我将这个代码放在我试图制作的骰子滚筒纸上。在第1列中,我将使用的骰子数量放在第3列中,我将使用的骰子类型(d4为4,d6为6,d8为8等),第5列,我放置内部修改器(每个骰子的mod),在第7列中,我放置外部修饰符(在所有内容滚动后的整体修饰符)。

在第9栏中,所有内容都应该合并,如下面的代码所示......但是表单上没有任何内容发生。

注意:没有列出错误,它似乎运行正常,但没有显示任何内容。

快速修改,只是为了完整性'为了这个"和',什么都没发生,我想,但我有点新哈哈

function onEdit() { // Column 7
  var ss = SpreadsheetApp.getActiveSpreadsheet(); // Spreadsheet
  var sheeta = "Rolls";
  var sheet = ss.getSheetByName(sheeta); // Active sheet

  var numberrange = sheet.getActiveCell();
  numberrange = (numberrange.getRow(),1);

  var typerange = (numberrange.getRow(),3);

  var modrange = (numberrange.getRow(),5);

  var outermodrange = (numberrange.getRow(),7);

  var finalrange = (numberrange.getRow(),9);

  var results = "=" + numberrange.getValue() +"*(TRUNC(RAND()*(" + typerange.getValue() + "-1)+" + modrange.getValue() + "))+" + outermodrange.getValue(); // =1*(TRUNC(RAND()*(6-1)+0))+0

  finalrange.setValue(results);
}

1 个答案:

答案 0 :(得分:0)

  1. 这不是范围numberrange = (numberrange.getRow(),1);而是仅仅是(X,Y)。 我不知道为什么你没有提到,我认为你在执行脚本时一定会遇到错误。 要将此转换为范围,您应该执行numberrange = sheet.getRange(numberrange.getRow(),1);

  2. 之类的操作
  3. 此处finalrange.setValue(results);结果是我猜的公式,所以请使用finalrange.setFormula(formula)函数。

  4. 如果这不能解决您的问题或者您有任何疑问,请告诉我。