Google apps script 谷歌脚本功能不做任何事情(谷歌脚本绑定到谷歌表单)

Google apps script 谷歌脚本功能不做任何事情(谷歌脚本绑定到谷歌表单),google-apps-script,google-sheets,Google Apps Script,Google Sheets,我在一张掷骰子的纸上写下了这个代码。在第1列中,我放置了使用的骰子数量,在第3列中,我放置了使用的骰子类型(d4是4,d6是6,d8是8,等等),在第5列中,我放置了内部修改器(每个骰子的修改),在第7列中,我放置了外部修改器(所有骰子滚动后的整体修改器) 在第9列中,所有内容都应该合并,如下面的代码所示。。。但是床单上什么也没发生 注意:没有列出错误,它似乎运行正常,但没有显示任何内容 快速编辑,只是为了完整起见,我替换了所有“with”的实例,什么都没发生,我想,但我有点新,哈哈 funct

我在一张掷骰子的纸上写下了这个代码。在第1列中,我放置了使用的骰子数量,在第3列中,我放置了使用的骰子类型(d4是4,d6是6,d8是8,等等),在第5列中,我放置了内部修改器(每个骰子的修改),在第7列中,我放置了外部修改器(所有骰子滚动后的整体修改器)

在第9列中,所有内容都应该合并,如下面的代码所示。。。但是床单上什么也没发生

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

快速编辑,只是为了完整起见,我替换了所有“with”的实例,什么都没发生,我想,但我有点新,哈哈

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);
}
  • 这不是范围
    numberrange=(numberrange.getRow(),1);
    而是一个(X,Y)。 我不知道你为什么没有提到,我想你一定是在执行脚本时出错了。 要将其转换为范围,您应该执行类似于
    numberrange=sheet.getRange(numberrange.getRow(),1);

  • 这里的
    finalrange.setValue(results);
    results是我猜的一个公式,所以请使用
    finalrange.setFormula(formula)
    函数


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

    您的第一点非常有效,谢谢!第二点,我一直在使用setValue,因为我正在将几个不同的字符串添加到一个公式中。它有效,但不知道setFormula是否也有效。