Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Email 如何使用谷歌脚本将谷歌电子表格复制粘贴到gmail中?_Email_Google Apps Script - Fatal编程技术网

Email 如何使用谷歌脚本将谷歌电子表格复制粘贴到gmail中?

Email 如何使用谷歌脚本将谷歌电子表格复制粘贴到gmail中?,email,google-apps-script,Email,Google Apps Script,我有一个带有透视表的谷歌电子表格,我想用我的gmail根据某些标准自动发送电子邮件。我对电子邮件脚本和cinditions非常满意,但是我在任何地方都找不到能够有效地将表的“复制-粘贴”复制到电子邮件中的脚本 如果您能在这方面提供任何帮助,我将不胜感激 谢谢 Agi 我利用这个社区的建议设法使它发挥作用。谢谢大家! 我试图让它水平显示值,即每行显示一条新的客户记录。然而,我得到了一些不同的东西。我附加了一个文件与我得到的和代码。如果您有任何建议,我将不胜感激。我确信解决方案就在那里,但几个小时后

我有一个带有透视表的谷歌电子表格,我想用我的gmail根据某些标准自动发送电子邮件。我对电子邮件脚本和cinditions非常满意,但是我在任何地方都找不到能够有效地将表的“复制-粘贴”复制到电子邮件中的脚本

如果您能在这方面提供任何帮助,我将不胜感激

谢谢

Agi

我利用这个社区的建议设法使它发挥作用。谢谢大家!

我试图让它水平显示值,即每行显示一条新的客户记录。然而,我得到了一些不同的东西。我附加了一个文件与我得到的和代码。如果您有任何建议,我将不胜感激。我确信解决方案就在那里,但几个小时后我无法得到它:(我正在显示下面的代码,并附上一张带有当前和预期结果的照片

非常感谢

Agi

函数testMail(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var responses=ss.getSheetByName(“Monitoreo de Pedidos”);
//var lastRow=responses.getLastRow();
//var values=responses.getRange(“A2”+(lastRow)+“:R2”+(lastRow)).getValues();
var values=responses.getRange(“A3:R12”).getValues();
var headers=responses.getRange(“A2:R2”).getValues();//headers.A1到R1不包含相关数据
var message=composeMessage(头、值);
var messageHTML=composeHtmlMsg(标题、值);
Logger.log(messageHTML);
MailApp.sendmail(Session.getEffectiveUser().getEmail(),'testhtml',message,{'htmlBody':messageHTML});
}
函数composeMessage(标题、值){
var message='以下是您提交的数据:\n'

对于(var j=0;j您需要将电子邮件正文编写为html并插入其中。如果您想模拟格式,则需要做更多的工作。如果遇到问题,请尝试“如果”并写回。

您当前的代码是什么样子的,您有什么具体的问题?您是否尝试将ss作为html并将其用作html正文?很好。我按照您的建议尝试了htmldvice在这篇文章中。我想知道是否可能以相反的方式显示表格,顶部有标题,下面有值。我试图创建一个代码来动态更改表格的大小,但我无法获得我想要的格式。请原谅,我是一个新手。代码现在已附加。谢谢!完成Zig。格式设置不必要。按照我的在前面的评论中,我无法以相反的方式显示表格,标题在顶部,值在下面。我试图创建一个代码来动态更改表格的大小,但我无法获得我想要的布局:((是的,这是可能的,只是普通的html。搜索如何制作html表格(例如标题)谢谢Zig。我试过了,但真的卡住了。我已经发布了代码和图片。谢谢!
function testMail(){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var responses = ss.getSheetByName("Monitoreo de Pedidos");
 // var lastRow = responses.getLastRow();
 // var values = responses.getRange("A2"+(lastRow)+":R2"+(lastRow)).getValues();
   var values = responses.getRange("A3:R12").getValues(); 
  var headers = responses.getRange("A2:R2").getValues(); //The headers. A1 TO R1 does not contain relevant data
 var message = composeMessage (headers,values);
 var messageHTML = composeHtmlMsg(headers,values);
 Logger.log(messageHTML);
  MailApp.sendEmail(Session.getEffectiveUser().getEmail(),'test html', message,{'htmlBody':messageHTML});
}



function composeMessage(headers,values){
  var message = 'Here are the data you submitted :\n'
  for (var j=0;j<5;++j){ //NUMBER OF ROWS
    for(var c=0;c<values[0].length;++c){ //NUMBER OF COLUMNS, in the future this will be dynamic
      message+='\n'+headers[0][c]+' : '+values[j][c]
    }
  }
  return message;
}


 function composeHtmlMsg(headers,values){
  var message = 'Here are the data you submitted :<br><br><table style="background-   color:yellow;border-collapse:collapse;" border = 1 cellpadding = 5><th>Title</th>    <th>Customer Info</th><tr>'
  for (var j=0;j<5;++j){
    for(var c=0;c<values[0].length;++c){
    message+='<tr><td>'+headers[0][c]+'</td><td>'+values[j][c]+'</td></tr>'

    }
   }
   return message+'</table>';

 ![Desired outcome][1]}