0

스프레드 시트에 연결된 양식이 있습니다. 이 스프레드 시트에는 양식의 답변을 작성하는 스크립트가 있습니다. 스크립트는 양식에 응답 한 사용자에게 메일을 생성해야하며 때로는 응답을 수정하도록 요청해야합니다. 미리 채워진 양식 링크 (사용자의 대답으로 미리 채워짐)를 생성하여 우편으로 보내고 싶기 때문에 내가 원하는 것을 바꿀뿐입니다 (모든 양식을 다시 채울 필요가 없음) 스프레드 시트의 Google 스크립트 - 양식을 통해 답변을 수정할 수있는 링크를 만듭니다.

)

나는 기능을 사용하여

getEditResponseUrl() 
    --> var 'responses' = 'myform'.getResponses(); 
    --> var 'modificationUrl' = 'responses'[?].getEditResponseUrl() 

나는 형태의 '응답'가지고있는 모르는 할 수있는 방법이 보았다. (왜냐하면 양식 스프레드 시트의 수가 양식 응답의 수보다 적기 때문입니다 ...

getEditResponse (예 : 시간을 사용하여 .. 어떤 응답을 사용하는지 알 수있는 방법은 없지만, t는

미리 감사)하는 방법을 알고있다.

답변

0

을 대신 스프레드 시트 양식에서 링크를 사용하여, 당신은 아마도 스프레드 시트로 양식에서 자신의 데이터를 기록 할 수있다. 객체에 의해 제공 양식을 사용하면 자신의 ID를 검색하고 자신의 ID로 스프레드 시트의 항목을 양식 응답에 효율적으로 연결할 수 있습니다.

ticket 에서 양식 응답을 처리하는 방법에 대해 더 자세히 알 수 있습니다. 그리고 양식 제출시 트리거 될 때 양식의 응답을 조작하는 방법에 대한 구체적인 정보가 필요하면이 issue을 확인할 수 있습니다.

exemple :

// for a form with 2 question named "question 1" and "question 2" 
function submitFormFunc(e) { 
    var items = e.response.getItemResponses(); 
    var responses={}; 
    for(var i = 0; i< items.length; i++) { 
    responses[items[i].getItem().getTitle()]=items[i].getResponse(); 
    } 

    var responseTable = []; 
    var responseIndex = ["Timestamp","ID","question 1","question 2"]; 
    responseTable.push(e.response.getTimestamp().toString()); 
    responseTable.push(e.response.getId()); 
    responseTable.push(responses["question 1"]); 
    responseTable.push(responses["question 2"]); 
    responseTable.push(FormApp.getActiveForm().getResponse(e.response.getId()).getEditResponseUrl()); 
    SpreadsheetApp.openById("your spreadsheetId").appendRow(responseTable); 
}