亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用應用程序腳本從谷歌表格通過電子郵件發送表格 - 單擊按鈕

使用應用程序腳本從谷歌表格通過電子郵件發送表格 - 單擊按鈕

守候你守候我 2022-01-07 16:15:30
我是編碼新手。這是我的第一個查詢。請原諒我的錯誤。我想開發一個簡單的代碼來接受客戶的訂單。在附件中 - 客戶將選擇他們的產品,摘要電子郵件應發送至客戶的電子郵件 ID 和管理員電子郵件 ID。電子郵件的主題行正確,但電子郵件正文不正確。電子郵件正文是 - [object Object] - 而不是包含產品詳細信息的表格。下面是代碼。請幫忙。提前致謝。https://docs.google.com/spreadsheets/d/1J4OHwN3MEJwqMhOMDWg2Mt6dgqjcVlGOc2bHOS5lmRY/edit#gid=1167211647“工作表 - 訂單選項卡”function orderemail() {    var sh = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();    var data = sh.getRange("A2:O38").getValues();    //var htmltable =[];    var TABLEFORMAT = 'cellspacing="2" cellpadding="2" dir="ltr" border="1" style="width:100%;table-layout:fixed;font-size:10pt;font-family:arial,sans,sans-serif;border-collapse:collapse;border:1px solid #ccc;font-weight:normal;color:black;background-color:white;text-align:center;text-decoration:none;font-style:normal;'    var htmltable = '<table ' + TABLEFORMAT +' ">';        for (row = 0; row<data.length; row++){           htmltable += '<tr>';           for (col = 0 ;col<data[row].length; col++){              if (data[row][col] === "" || 0) {                  htmltable += '<td>' + 'None' + '</td>';}               else if (row === 0)  {                  htmltable += '<th>' + data[row][col] + '</th>';              }              else {htmltable += '<td>' + data[row][col] + '</td>';}           }        htmltable += '</tr>';     }     htmltable += '</table>';     Logger.log(data);     Logger.log(htmltable);     var emailAddress = "[email protected]";     var emailAddress2location = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Order tab").getRange("C25");     var emailAddress2 = emailAddress2location.getValues();}
查看完整描述

2 回答

?
largeQ

TA貢獻2039條經驗 獲得超8個贊

如果我理解文檔https://developers.google.com/apps-script/reference/mail/mail-app


您不必將對象作為MailApp.sendEmail的正文參數傳遞,而是直接傳遞您的 text/html


所以在這些行中替換{htmlBody: htmltable}為htmltable:


...

     MailApp.sendEmail(emailAddress, subject, htmltable)

     MailApp.sendEmail(emailAddress2, subject2, htmltable)

...

編輯


您需要在提供選項對象之前提供文本正文,


sendEmail(收件人、主題、正文、選項)


你對語法是正確的,但你之前需要一個文本。你可以試試這個來測試它:


...

     MailApp.sendEmail(emailAddress, subject, htmltable, {htmlBody: htmltable})

     MailApp.sendEmail(emailAddress2, subject2, htmltable,{htmlBody: htmltable})

...

但我建議您創建數據的文本版本,如果可行,將其作為文本正文傳遞


查看完整回答
反對 回復 2022-01-07
?
牧羊人nacy

TA貢獻1862條經驗 獲得超7個贊

回答您的進一步問題(來自評論)


1 如果您不希望空白為“無”,則應刪除此部分


    var htmltable = '<table ' + TABLEFORMAT +' ">';

        for (row = 0; row<data.length; row++){

           htmltable += '<tr>';

           for (col = 0 ;col<data[row].length; col++){

              //remove this part ------------

              //if (data[row][col] === "" || 0) {

              //    htmltable += '<td>' + 'None' + '</td>';} 

              //else --------------

              if (row === 0)  {

                  htmltable += '<th>' + data[row][col] + '</th>';

              }

              else {htmltable += '<td>' + data[row][col] + '</td>';}

           }

        htmltable += '</tr>';

     }

2 - 試試這個


...


     // Send Alert Email.

     var order = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Order tab").getRange("A2:K32");

     var message = order.getValues();

     //---------------------- this :

     var customerId = SpreadsheetApp.getActiveSpreadsheet()

       .getSheetByName("Order tab").getRange("c24")

       .getValues()[0];

     var subject = 'New Order Alert - ' + customerId;

     var subject2 = 'Order Summary - ' + customerId;

...

```


查看完整回答
反對 回復 2022-01-07
  • 2 回答
  • 0 關注
  • 188 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號