我正试图制作一个电子表格来管理我的资金/开支,但在尝试自动化我的流程时遇到了一个问题
我想制作一段代码,每次在工作表中编辑单元格时运行。
当被触发时,我希望它计算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,但我无法在调用函数的单元格外进行编辑。我用过编辑-
有人能指引我吗?我怎样才能得到我想要的?
如果我的理解是正确的,这个答案怎么样?请把这看作是几种可能的答案之一。
“异常:您没有调用setValue(第7行)的权限。”
,我想您可能正在使用regnudbetalprocent()
的函数作为自定义函数。在这种情况下,会发生这种错误
当上述各点反映到脚本中时,它将变成如下所示。
onEdit
功能用作简单触发器。因此,为了运行脚本,请手动编辑单元格“B18”、“E18”、“H3”和“H4”中的一个。由此,运行脚本并从“B18”、“E18”、“H3”和“H4”的单元格中检索值,并将计算结果放入“D21:E22”的单元格中。
function onEdit(e) {
var a1Notation = e.range.getA1Notation(); // Added
if (a1Notation != "B18" && a1Notation != "E18" && a1Notation != "H3" && a1Notation != "H4") return; // Added
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) { // Modified
var output = [[ssum,lsum], ["Samlet",betal]];
var r = e.range.getSheet().getRange("D21:E22");
r.clearContent(); // This line might not be required.
r.setValues(output);
SpreadsheetApp.flush(); // This line might not be required.
}
}
我试图用谷歌应用程序脚本导出谷歌电子表格到JSON(或XML)。以下是我的谷歌表: 下面是我的谷歌应用程序脚本代码: 但是,当我部署JSON时,我没有得到任何JSON。 多谢,
这是我的代码,基本上是从文本。 这成功地在Google电子表格中创建了一个电子表格。我可以在internet浏览器的驱动器主页上看到它。在此之后,当我尝试从另一个电子表格导入工作表时,会发生错误。 出于某种原因,我得到了错误: googleapiclient.errors.HttpError: 这是奇怪的部分,因为电子表格已经创建。我可以从我的互联网浏览器的驱动器主页上看到它。如果我在浏览器中插入
我编写了一个绑定到谷歌电子表格的小脚本,它从最后一行的单元格中读取电子邮件地址并向其发送电子邮件。这些值由一个WebApp(而不是谷歌表单)收集。 我试过各种各样的触发器。时间驱动触发器工作,但电子表格触发器不工作。我都试过了。如果我手动更改电子表格中的某个单元格,onEdit触发器会工作,但当工作表被另一个脚本更改时,它不会启动。
脚本编辑器让你创建和编辑脚本,准备和运行已选择的脚本。拖放或双击右侧的“标识符”窗格的一个标识符来将它添加到编辑器中。 【提示】当你使用查找创建工具或聚合创建工具创建查询时,脚本将会在脚本编辑器中自动生成。 Navicat 提供广泛的高级功能,例如:编辑代码功能、智能自动完成代码、设置脚本格式及更多。 设置脚本格式 若要更改脚本格式,简单地从“格式”菜单选择 - 缩进 为已选择的代码行增加或减少缩
脚本编辑器让你创建和编辑脚本,准备和运行已选择的脚本。拖放或双击右侧的“标识符”窗格的一个标识符来将它添加到编辑器中。 【提示】当你使用查找创建工具或聚合创建工具创建查询时,脚本将会在脚本编辑器中自动生成。 Navicat 提供广泛的高级功能,例如:编辑代码功能、智能自动完成代码、设置脚本格式及更多。 设置脚本格式 若要更改脚本格式,简单地从“格式”菜单选择 - 缩进 为已选择的代码行增加或减少缩
脚本编辑器让你创建和编辑脚本,准备和运行已选择的脚本。拖放或双击右侧的“标识符”窗格的一个标识符来将它添加到编辑器中。 【提示】当你使用查找创建工具或聚合创建工具创建查询时,脚本将会在脚本编辑器中自动生成。 Navicat 提供广泛的高级功能,例如:编辑代码功能、智能自动完成代码、设置脚本格式及更多。 设置脚本格式 若要更改脚本格式,简单地从“格式”菜单选择 - 缩进 为已选择的代码行增加或减少缩