微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Google Sheets 使用 CreateDraft 函数向 Gmail 邮件添加内嵌图像

如何解决Google Sheets 使用 CreateDraft 函数向 Gmail 邮件添加内嵌图像

我工作的公司将在月底迁移到 Google 的邮件客户端和套件。我的部门使用 Excel 表格,其中包含我在锁定期间学到的一些 VBA 编码。我希望在 Google 表格中使用表单的基本操作之一是,当单击按钮时,会在该电子邮件的正文中创建一封电子邮件,该电子邮件是表单的屏幕截图。

由于我是 Google 表格中的 Javascript 新手,在过去的几天里,我发现了各种方法代码来创建图像,以及另一种在 Gmail 中创建草稿的方法代码。 (重要的是,表单的用户可以在发送之前看到电子邮件 - 需要添加其他信息。因此 Gmail 的自动发送功能不是一个选项)

为什么要创建草稿,电子邮件地址存在,主题行,消息文本也是如此。但是没有图...

任何提示或指向代码页的提示都被亲切地接受

function sendit()
{
const range = "A1:H10";
const [header,...values] = SpreadsheetApp.getActiveSheet()
  .getRange(range)
  .getdisplayValues();
const table = Charts.newDataTable();
header.forEach((e) => table.addColumn(Charts.ColumnType.STRING,e));
values.forEach((e) => table.addRow(e));
const blob = Charts.newTableChart()
  .setDataTable(table.build())
  .setDimensions(500,500)
  .setoption("alternatingRowStyle",false)
  .build()
  .getBlob();

GmailApp.createDraft("xxxxxx","current time","The time is....",blob );


}

解决方法

我认为如果您想添加图片,正文应该是带有图片标签的 html。

或者图片是作为选项添加的,所以方法应该是:

.createDraft(recipient,subject,body,{inlineImages: blob source})

(选项作为对象添加)

查看文档

https://developers.google.com/apps-script/reference/gmail/gmail-app#createdraftrecipient,-options

也许检查这个答案:

Add Image to Google Sheets email App Script

,

非常感谢 Monkey Punky 的文章,使其能够与下面的代码一起使用。

var sheet = SpreadsheetApp.getActiveSpreadsheet() .getSheetByName("Main");

  var to = "xxxxxxxxxx.com";
  var message = '<img src="cid:logo" />';

 
const range = "A1:H10";
const [header,...values] = SpreadsheetApp.getActiveSheet()
  .getRange(range)
  .getDisplayValues();
const table = Charts.newDataTable();
header.forEach((e) => table.addColumn(Charts.ColumnType.STRING,e));
values.forEach((e) => table.addRow(e));
var image  = Charts.newTableChart()
  .setDataTable(table.build())
  .setDimensions(500,500)
  .setOption("alternatingRowStyle",false)
  .build()
  .getBlob();




  GmailApp.createDraft(
    to,"Subject","",{
      inlineImages:{ logo:image },htmlBody:message
    }
  );
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。