Google Scripts 功能不做任何事情(Google Script 绑定到 Google Sheets)

Posted

技术标签:

【中文标题】Google Scripts 功能不做任何事情(Google Script 绑定到 Google Sheets)【英文标题】:Google Scripts function not doing anything (Google Script tied to Google Sheets) 【发布时间】:2018-05-30 03:40:00 【问题描述】:

我正在尝试制作的骰子辊板上有此代码。在第 1 列中,我输入了使用的骰子数量,在第 3 列中,我输入了使用的骰子类型(d4 是 4,d6 是 6,d8 是 8 等),在第 5 列中,我'正在放置内部修饰符(每个骰子的修饰符),在第 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】:

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

    的操作

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

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

【讨论】:

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

以上是关于Google Scripts 功能不做任何事情(Google Script 绑定到 Google Sheets)的主要内容,如果未能解决你的问题,请参考以下文章

Multiprocessing.Pool.Map不做任何事情

ListView onItemClickListener 不做任何事情

OpenCV destroyWindow() 不做任何事情。

WebSocketSession.send 不做任何事情

TabControl.VerticalAlignment = 拉伸不做任何事情

npm update 不做任何事情