簡體   English   中英

完成Google表單后,如何在Google Spreadsheets中現有工作表的末尾創建新行?

[英]How to create a new row at the end of an existing sheet in Google Spreadsheets after completing a Google Form?

我正在嘗試將鏈接的Google表單中的回復保存到現有的Google表格中。 更准確地說,電子表格顯示了雇員的休假請求,雇員的請假原因,請求的天數,請求的日期,經理的姓名等。基本上,表單會向雇員詢問這些信息。
謝謝!

我在這里想要實現的是將響應信息保存到已經創建的電子表格中。 根據Google的文檔 ,僅有的兩種選擇是:
1)創建一個新的電子表格:為Google表格中的回復創建一個電子表格
2)選擇現有電子表格:從Google表格中的現有電子表格中進行選擇以存儲回復
對於選項#2,我可以將響應保存在同一電子表格中,但可以將其保存在新工作表中。 我正在嘗試將響應保存在同一張紙中。

我知道Google表單具有腳本編輯器。 是否可以運行將響應發送到電子表格的函數? 也許是這樣的嗎?

function sendToSpreadSheet(e)
{
  var ss = SpreadsheetApp.openById("abc1234567");
  // Send response to spreadsheet

  // Populate cells accordingly
}

我在Google表單方面的經驗不足,因此不確定如何解決此問題。 任何建議將不勝感激。

嘗試這個:

您必須提供電子表格ID和SheetName。 並為電子表格創建一個onFormSubmit觸發器。

function saveResponse(e) {
  SpreadsheetApp.getActive().getSheetByName('SheetName').append(e.values);
}

要么

function saveResponse(e) {
  SpreadsheetApp.openById('id').getSheetByName('SheetName').append(e.values);
}

您可以使用以下內容創建觸發器:

function createSetResponseTrigger(){
  createTrigger('setResponse');
}

function createTrigger(funcname) {
  if(!isTrigger(funcname)) {
    ScriptApp.newTrigger(funcname).forSpreadsheet(SpreadsheetApp.getActive()).onFormSubmit().create();
  }
}

和這個

function isTrigger(funcName){
  var r=false;
  if(funcName){
    var allTriggers=ScriptApp.getProjectTriggers();
    for(var i=0;i<allTriggers.length;i++){
      if(funcName==allTriggers[i].getHandlerFunction()){
        r=true;
        break;
      }
    }
  }
  return r;
}

或者您也可以使用“編輯菜單” /“當前項目觸發器”手動創建它。

暫無
暫無

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

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