簡體   English   中英

谷歌 Web 應用腳本每日更新

[英]Google Web App Script Daily Update for Cell

您好,在下面的鏈接中,我有一個用戶表單,我可以添加、編輯和刪除用戶。

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

開發鏈接https://script.google.com/macros/s/AKfycbxIT4fJPNyD5U2CKFzWCSho0tR2uuczq1hevzHawtg/dev

所以現在上面的所有字段,如姓名,email,出生日期都將被保存並可以重新編輯。

我在電話號碼和國家/地區Daily UpdatesDaily Logs下方添加了 2 列

現在,當我編輯用戶並在Daily Updates中更新今天的活動時,例如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 端修改 function 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"放在“Daily Logs”的 textarea 標簽中。

添加:

從下面的回復中,

如果我添加更多字段,例如姓氏、工作字段等,我會繼續在電子表格中添加額外的列。

在這種情況下,如何使用列號如下?

至:

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" });
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM