我知道我可以在提到的时间戳提取单元格条目,并将值发送到我的邮件 ID,如下所示。
function triggerMail() {
// Fetch the monthly sales
var toGoRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("NetWorth").getRange("H741");
var toGo = toGoRange.getValue();
// Fetch the email address
var emailRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("NetWorth").getRange("J2");
var emailAddress = emailRange.getValue();
var date = Utilities.formatDate(new Date(), "GMT+5.30", "dd/MM/yyyy")
// Send Alert Email.
var message = '[' + date + ']' + ' Still toGo Rs.' + Number((toGo).toFixed(2)) + ' this month'; // Second column
var subject = 'Daily ToGo Report';
MailApp.sendEmail(emailAddress, subject, message);
};
有没有办法在电子表格单元格中存储 toGo 的值?。 这样我就可以每天在电子表格中获得一个条目(目前,我每天都会收到一封电子邮件)
答案 0 :(得分:1)
您可以使用 setValue() 将值写入工作表。
例如,如果您想写入单元格 A1,您可以将其添加到函数的末尾(可能代替发送电子邮件的行):SpreadsheetApp.getActiveSpreadsheet().getSheetByName("NetWorth").getRange('A1').setValue(toGo);
编辑:
如果您想在每次运行函数时保留一个值的日志,您可以将其写入 last row of a given column。例如,将其记录到 A 列:
function logToGo() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("NetWorth");
const toGo = sheet.getRange("H741").getValue();
// Find the last populated row in the specified column
const logColumn = 1; // Number of the column to output "toGo" to. A is 1, B is 2, etc.
let logColumnLastRow = sheet.getMaxRows();
const data = sheet.getRange(1, logColumn, logColumnLastRow).getValues();
while (data[logColumnLastRow - 1][0] === "" && logColumnLastRow > 0) {
logColumnLastRow--;
}
// Write to the last row in the specified column
sheet.getRange(logColumnLastRow+1, logColumn).setValue(toGo);
}
答案 1 :(得分:0)
使用函数 setValue()
(link to google's documentation)。
所以在你的第 4 行之后,使用这样的东西:
var enterRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("ENTER SHEET NAME").getRange("ENTER RANGE").setValue(toGo);
如果您想将其完全输入到不同的电子表格中,请使用以下内容:
var enterRange = SpreadsheetApp.openById("ENTER SPREADSHEET ID").getSheetByName("ENTER SHEET NAME").getRange("ENTER RANGE").setValue(toGo);
如果您不知道如何找到电子表格 ID,这里有一个 red arrow 指向它。