【发布时间】:2018-11-12 20:04:27
【问题描述】:
我有 2 个单独的脚本,分别询问用户的起始里程(输入到第 3 列)和结束里程(输入到第 4 列)。输入结束里程后,如何将总里程数输入第 10 列?我尝试在工作表上输入一个函数,但它会被下一个数据输入覆盖。
我的 2 脚本如下所示:
var StartMileage = SpreadsheetApp.getUi().prompt("请输入起始里程。").getResponseText();
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("检索日志 P1CU X")
var NewLog = ss.getRange(ss.getLastRow(), 3).setValue(StartMileage);
和,
var Home = SpreadsheetApp.getUi().prompt("你的结束里程是多少?").getResponseText();
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("检索日志 P1CU X")
var NewLog = ss.getRange(ss.getLastRow(), 4).setValue( Home );
我想要的基本总和是 'Home' 的值减去第 10 列中的 'StartMileage' 的值。
脚本设置为在单击按钮时运行,他们必须在其中提交响应,第一个按钮会询问他们的姓名和开始里程,最后一个按钮会询问他们的结束里程,这些按钮将被点击按顺序,两个提交将提交到同一行。我希望脚本在提交结束里程的同时进行计算,该函数如下所示:
函数 promptHome()
{
var Home = SpreadsheetApp.getUi().prompt("你的最终里程是多少?").getResponseText();
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("检索日志 P1CU X")
var NewLog = ss.getRange(ss.getLastRow(), 4).setValue( Home );
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("检索日志 P1CU X")
var NewLog = ss.getRange(ss.getLastRow(), 9).setValue(new Date());
}
【问题讨论】:
-
基本前提是:获取 col 3 和 col 4 的值,进行计算,将结果插入 col 10。但在脚本中如何以及何时执行此操作将取决于您的脚本,以及用户如何与之交互。您没有提供任何相关信息,例如:用户是同时输入两个值,还是在不同时间点输入?以预定义的顺序还是由他们决定?他们可以只输入一个值而不输入另一个值吗?您的脚本是在 onOpen 上运行还是从附加菜单运行?要获得最佳答案,请将这些详细信息添加到您的问题中以获得最佳答案。
-
谢谢@azawaza,我已经做了建议的修改。
标签: google-apps-script google-sheets