我完全不熟悉JavaScript,但是我试图创建一个脚本,当按下按钮时,该脚本在特定单元格中生成格式化的时间戳记。
我已经知道它可以在表中使用true / false,但是我不知道如何在JavaScript中做到这一点。到目前为止,到目前为止,我已经遇到了我不明白的错误。
有人可以帮助我了解或链接我如何解决其中一些问题的资源吗?我已经花了几个小时搜索和阅读Google开发人员页面以尝试学习,但到目前为止我还没有运气。
错误:
function myFunction() {
var sheet = SpreadsheetApp.getActiveSheet()
var date = new Date(); var timeStamp = date.getTime(); // Unix Timestamp
var currentTime = date.toLocaleTimeString(); // eg. 10:23:30 AM HKT
sheet.setValue(currentTime);
}
答案 0 :(得分:1)
您需要在一个单元格而不是整个工作表上设置值。要在最左上角的单元格上执行此操作,请选择A1
,例如:
function myFunction() {
var date = new Date();
var timeStamp = date.getTime(); // Unix Timestamp
var currentTime = date.toLocaleTimeString(); // eg. 10:23:30 AM HKT
var sheet = SpreadsheetApp.getActiveSheet(); // Sheet
var cell = sheet.getRange('A1'); // Cell <------------------------
cell.setValue(currentTime); // <--------------------------------------------
}
答案 1 :(得分:1)
虽然已接受的答案为您提供了一个完全有效的解决方案,但我想我会逐步引导您完成自己的过程,以使用文档快速地弄清这一点(不一定具有使用Google Apps脚本的任何经验)。
SpreadsheetApp.getActiveSheet()方法返回活动的Sheet对象。
我们可以浏览Sheet
类的文档,以查看哪些方法可用,哪些可能对我们有用。
getActiveRange()看起来很有趣。它:
返回活动工作表中选定的range,如果没有活动范围,则返回null。
因此,再次在文档中搜索Range
类以查看范围类可用的方法,我们可以找到setValue。
function myFunction() {
var date = new Date();
var timeStamp = date.getTime();
var currentTime = date.toLocaleTimeString();
var sheet = SpreadsheetApp.getActiveSheet();
var activeRange = sheet.getActiveRange();
if (activeRange) {
activeRange.setValue(currentTime);
}
}
希望这个答案教给您更多逐步解决未来此类问题的方法。