2012-10-17 160 views
1

我發現了以下腳本來將表單提交值插入谷歌電子表格。從谷歌電子表格發送電子郵件

function doPost(e) { // change to doPost(e) if you are recieving POST data 
    var ss = SpreadsheetApp.openById(ScriptProperties.getProperty('active')); 
    var sheet = ss.getSheetByName("DATA"); 
    var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0]; //read headers 
    var headers2 = sheet.getRange(2, 1, 1, sheet.getLastColumn()).getValues()[0]; //read headers 
    var nextRow = sheet.getLastRow(); // get next row 
    var cell = sheet.getRange('a1'); 
    var col = 0; 
    for (i in headers2){ // loop through the headers and if a parameter name matches the header name insert the value 
    if (headers2[i] == "Timestamp"){ 
     val = new Date(); 
    } else { 
     val = e.parameter[headers2[i]]; 
    } 
    cell.offset(nextRow, col).setValue(val); 
    col++; 
    } 
    //http://www.google.com/support/forum/p/apps-script/thread?tid=04d9d3d4922b8bfb&hl=en 
    var app = UiApp.createApplication(); // included this part for debugging so you can see what data is coming in 
    var panel = app.createVerticalPanel(); 
    for(p in e.parameters){ 
    panel.add(app.createLabel(p +" "+e.parameters[p])); 
    } 
    app.add(panel); 
    return app; 
} 
//http://www.google.sc/support/forum/p/apps-script/thread?tid=345591f349a25cb4&hl=en 
function setUp() { 
    ScriptProperties.setProperty('active', SpreadsheetApp.getActiveSpreadsheet().getId()); 
} 

現在我想發送格式化的電子郵件給我的兩個同事每次插入一行。我試圖使用:

var emailAddress = "[email protected]"; // First column 
    var message = "message";  // Second column 
    var subject = "Sending emails from a Spreadsheet"; 
    MailApp.sendEmail(emailAddress, subject, message); 

但它沒有發送任何東西..任何人都可以建議嗎?

+0

MailApp是使用正確的服務,並且您的代碼看起來是正確的。這可能是因爲代碼中的某處存在錯誤,因此請嘗試調試該問題。 –

+0

這些值是否插入到電子表格中?你有什麼錯誤嗎?當您爲此腳本設置觸發器時,如果您同時設置通知,則可在出現問題時立即收到電子郵件。 – bigelowr

回答

0

我有同樣的麻煩。

使用最新版本的Google Apps時,我必須保存該腳本,創建一個新修訂,然後重新發布該腳本,確保選擇新修訂。在此之後,新代碼生效。我相信如果我只保存了腳本,我就浪費了幾個小時。

不知何故,新方法會將腳本保存在別處。除非您經歷保存修訂版並重新發布的過程,否則幾乎不可能知道哪些代碼實際上正在運行。

+1

有一個特殊的測試網址,顯示您剛剛保存的代碼。在「部署彈出窗口」中,查看「用最近的代碼測試你的web應用」的藍色鏈接,url以「dev」結尾...... –

相關問題