Google Cell 的 Web 应用程序脚本每日更新

Google Web App Script Daily Update for Cell

你好,在我下面 link 我有一个用户表单,我可以添加、编辑和删除用户。

电子表格Link https://docs.google.com/spreadsheets/d/1tyz_3WeEkmY4WX8Xvx38nkLow8hcbCjPMLS1-NiPFgo/edit?usp=sharing

开发Link https://script.google.com/macros/s/AKfycbxIT4fJPNyD5U2CKFzWCSho0tR2uuczq1hevzHawtg/dev

所以现在上面的所有字段,如姓名、电子邮件、出生日期都将被保存并可以重新编辑。

我在 Phone 数字和国家/地区下面又添加了 2 列 Daily UpdatesDaily Logs

现在,当我编辑用户并在 Daily Updates 中更新今天的 activity 时,例如 Something added on - 1-jan-2021 现在它应该清除 Daily Updates 中的字段并且应该在 Daily Logs field 中更新。 如果我再次更新 Daily Updates 中的 Something added on 2-jan-2021,它应该被清除并作为先前的和当前的

出现在 Daily Logs 字段中

Something added on - 1-jan-2021

Something added on 2-jan-2021

所以我的目标是显示对 Daily Updates 字段所做的所有更改应显示在 Daily Logs 字段中,因为只读,无法编辑。

我相信你的目标如下。

  • 当通过编辑“联系人详细信息数据库”中的数据并将值输入到“每日更新”并单击“提交”按钮来加载值时,您想将该值保存到“每日日志”并想要清除“每日更新”。

这样的话,下面的修改怎么样?

修改后的脚本:

在这种情况下,请将 Google Apps Script 端的函数 updateData 修改如下。

发件人:

function updateData(values, spreadsheetId, range) {
  var valueRange = Sheets.newValueRange();
  valueRange.values = values;
  var result = Sheets.Spreadsheets.Values.update(valueRange, spreadsheetId, range, { valueInputOption: "RAW" });}

收件人:

function updateData(values, spreadsheetId, range) {
  var len = values[0].length;
  values[0][len - 1] = values[0][len - 1] ? `${values[0][len - 1]}\n${values[0][len - 2]}` : values[0][len - 2];
  values[0][len - 2] = "";

  var valueRange = Sheets.newValueRange();
  valueRange.values = values;
  var result = Sheets.Spreadsheets.Values.update(valueRange, spreadsheetId, range, { valueInputOption: "RAW" });
}
  • 本次修改后,当数据更新时,“每日更新”的值作为附加值保存到“每日日志”中,并清除“每日更新”。

注:

  • 来自Daily Logs field as read only this can't be edited.,在这种情况下,请将readonly="readonly"添加到“每日日志”的textarea标签中。

已添加:

来自以下回复,

IF i add more fields like Last name , job field, etc,,, i keep adding extra columns in spreadsheet.

在这种情况下,如何使用如下列号?

收件人:

function updateData(values, spreadsheetId, range) {
  var colDailyChanges = 8; // Column "H"
  var colDailyLogs = 9; // Column "I"
  values[0][colDailyLogs - 1] = values[0][colDailyLogs - 1] ? `${values[0][colDailyLogs - 1]}\n${values[0][colDailyChanges - 1]}` : values[0][colDailyChanges - 1];
  values[0][colDailyChanges - 1] = "";

  var valueRange = Sheets.newValueRange();
  valueRange.values = values;
  var result = Sheets.Spreadsheets.Values.update(valueRange, spreadsheetId, range, { valueInputOption: "RAW" });
}