【发布时间】:2020-03-22 23:40:17
【问题描述】:
我正在尝试制作一个电子表格来管理我的资金/费用,但在尝试自动化我的流程时遇到了问题
我想编写一段代码,每次在工作表中编辑单元格时运行。
触发时,我希望它计算 ssum、lsum 和 betal(在循环中),然后将其放入 3 个不同的单元格中。代码按预期运行,但 onedit 触发器不起作用。
这是我的代码:
function regnudbetalprocent() {
var betal = 0;
var i = 1;
var app = SpreadsheetApp;
var ss = app.getActiveSpreadsheet();
var activeSheet = ss.getActiveSheet();
var sum = activeSheet.getRange(18, 5).getValue();
var ssum;
var lsum;
var ssumori = activeSheet.getRange(3, 8).getValue();
var lsumori = activeSheet.getRange(4, 8).getValue();
var fuld = activeSheet.getRange(18, 2).getValue();
while(betal < sum){
ssum = ((ssumori - fuld / 2) / 100) * i;
lsum = ((lsumori - fuld / 2) / 100) * i;
betal = ssum + lsum;
i++;
}
if (betal > sum) {
var output = [
[ssum,lsum],
["Samlet",betal]
]
return output;
}
}
输出变量从调用函数的位置相应地设置相邻单元格
我已尝试使用 setValue 和 clearContent,但我无法在调用函数的单元格之外进行编辑。我已经使用 Edit -> current project's triggers 添加了一个 onEdit 触发器,每次我编辑工作表时它都会增加,但没有任何反应.. 我筋疲力尽
有人可以指导我吗?我如何得到我想要的?
【问题讨论】:
-
我无法理解
I've tried with setValue and clearContent, but it i cant edit outside the cell from where the function is called.。我能问你在编辑单元格时要将结果值放在哪里吗? -
@Tanaike 感谢您的回复。我想输入 3 个值,一个在 D21、E21 和 E22 中,如此屏幕截图所示gyazo.com/20b79f68eee379fa2d471860cf45f6b1
-
@Tanaike 这是我尝试在单元格上使用 setValue 时收到的消息“例外:您无权调用 setValue(第 7 行)。”
-
感谢您的回复。根据您的回复,我提出了一个修改后的脚本作为答案。你能确认一下吗?如果我误解了您的问题并且这不是您想要的方向,我深表歉意。
标签: javascript google-apps-script google-sheets