2014-09-02 54 views
1

我知道人們之前提出過這個問題,但是在搜索了很長一段時間的問題之後,我找不到任何有關實際腳本的答案。我知道我在問什麼是可能的,只是不知道該怎麼寫。任何幫助表示讚賞!表單提交觸發器包含表單數據

我們正在使用谷歌表格接受事件請求,目前所有數據都存儲在谷歌表中。

提交表單後,我們希望通過電子郵件發送實際表格數據(從表單或表單,對我無關緊要)。現在,我可以使用以下腳本創建電子郵件通知(給其他團隊成員):

function myFunction(){ MailApp.sendEmail(「[email protected]」,「捐贈請求提交」,「你有新的提交「); }

有人可以與我分享腳本/編碼,這將獲得此通知,從表單中包括實際數據,而不是隻是說「你有一個新的提交」?

本質上,我們希望通過電子郵件發送所有信息,以便我們可以與提交表單的人員進行交流,並僅使用/查看電子表格以存儲該信息。

我的形式可以在這裏找到:https://docs.google.com/forms/d/1XXtxq9N_rSzjbfUxn2twuryJVLSwVL3f6QsCX_Waxqs/viewform

謝謝!

喬丹

+0

此代碼是否與提交按鈕綁定?你能發佈myFunction被調用的地方嗎? [這可能很方便](https://developers.google.com/apps-script/guides/triggers/events),因爲它看起來像你需要訪問e.values – 2014-09-02 20:37:35

+0

你沒有搜索得很好......在此標籤上搜索「發送電子郵件表單提交」返回[很多結果**](http://stackoverflow.com/search?q=%5Bgoogle-apps-script%5Dsend+email+on+form+提交) - 請不要先嚐試準備好的代碼。 – 2014-09-02 20:53:55

+0

@ Jymmy - 這篇文章是關於谷歌表格服務,看文檔[這裏](https://developers.google.com/apps-script/reference/forms/) – 2014-09-02 21:16:38

回答

0

這裏是如何去在一個非常基本的實現,你就必須在一定的問候和/或信息添加到它,但它顯示了總體思路。

function onFormSubmit(e) { 
    var questions = []; 
    for(var n in e.namedValues){ 
    questions.push(n); 
    } 
    Logger.log('questions = '+questions); 
    Logger.log('Timestamp = '+e.namedValues['Timestamp']); 
    var message = 'On '+e.namedValues['Timestamp']+', you submitted a form with the following responses:\n\n'; 
    for(var r = 0 ; r< questions.length-1 ; r++){ 
    message += questions[r] + ' : '+e.namedValues[questions[r]]+'\n'; 
    } 
    message += '\nThank you'; 
    MailApp.sendEmail(Session.getActiveUser().getEmail(), 'test subject',message); 
} 
+0

謝謝!現在就試試。 – 2014-09-04 15:09:19