簡體   English   中英

谷歌表格腳本自動定位具有今天日期的單元格,復制整行並通過電子郵件發送

[英]Google Sheets script to automatically locate cells with todays date, copy the whole row and send it via email

我已經用谷歌表單構建了一個報告工具,每天我都會填寫表單,並將回復發送到電子表格。 電子表格在 A 列上有時間戳,其余列是表單中問題的答案。

我正在嘗試編寫一個腳本,該腳本將每天在特定時間向我發送一封帶有 excel 文件/谷歌表鏈接的電子郵件,該電子郵件基本上包含今天表格中所有答案的副本。(帶有日期戳當天)。

任何人都可以幫助我開始嗎?

提前致謝!

你需要的是

這是包含此功能的示例代碼,我鼓勵您更加熟悉 Apps 腳本,以便您可以根據需要調整此代碼:

function bindATimeTriggerToMe() {
  var sheet = SpreadsheetApp.openById("PASTE-ID-OF-SPREADSHEET").getSheetByName("PASTE-NAME-OF-SHEET");
  var timestamps = sheet.getRange(1,1,sheet.getLastRow(), 1).getValues();

  var today = new Date();
  var i;
  for (i = timestamps.length-1; i > 0; i--){
    var day = timestamps[i][0];
    if (day.setHours(0,0,0,0) != today.setHours(0,0,0,0)){
      var firstRow = i + 2;
      break;
    }
  }
  if (firstRow){
    var rows = sheet.getLastRow()-firstRow+1;
    var columns = sheet.getLastColumn();
    var values = sheet.getRange(firstRow, 1, rows, columns).getValues();
    var newSheet = SpreadsheetApp.create("results from "+ today);
    newSheet.getSheetByName("Sheet1").getRange(1, 1, rows, columns).setValues(values);
    var url = newSheet.getUrl();

    var recipient ="XXX@gmail.com";
    var subject = "results from " + today;
    var body = "Click on the following link: "+url;
    GmailApp.sendEmail(recipient, subject, body)
  }
}

我認為,您必須開始編寫代碼。

首先,我建議從這里閱讀有關Events信息 在那里你可以找到兩個觸發器:

  • Google 表格活動 - 表單提交
  • Google 表單事件 - 從提交

注意兩種觸發器的區別:簡單和可安裝

選擇其中之一,並用它來觸發一些MailApp.sendEmail()函數

然后我強烈建議閱讀 SpreadSheet、Sheet 和 Range 類的文檔並嘗試編寫一些代碼。 當您遇到問題時 - 在這里寫一段不起作用的代碼並描述您的問題。

祝你好運!

暫無
暫無

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

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