【发布时间】:2020-06-30 01:13:05
【问题描述】:
我想提取带有标签“GmailtoStudio”的gmail正文中给出的表结构数据,并以适当的行和列保存在电子表格中。
此链接中提供了一个示例电子邮件正文: https://drive.google.com/file/d/1y_yh8R4jiwM3QNMU3WyUaejSW3RG09WT/view?usp=sharing 因此脚本应该从电子邮件中的“客户时间”列开始复制数据到最后一行,并将其保存到 12 列的电子表格中。
我使用不同的支持文章管理了以下代码,但它还不起作用;
function mailToStudio() {
var label = GmailApp.getUserLabelByName('GmailtoStudio');
var threads = label.getThreads();
for (var i = threads.length - 1; i>=0; i--){
var msg = threads[i].getMessages()[0];
var htmlbody = msg.getBody();
var body = htmlbody.replace(/<\/?[^>]+>/ig, " ");
var activeSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
activeSheet.appendRow([body]);
}
}
这段代码有两个问题: 1-它不会复制不同列中的数据。相反,它将数据复制到单个单元格中。 2- 我认为从电子邮件正文中复制到单元格中的数据还包含许多看起来像 css 代码的代码。
我应该在此代码中进行哪些更改才能在电子表格中正确获取数据。或者如果这个脚本不可能,还有什么其他脚本可以正确完成这项工作。
谢谢
【问题讨论】:
-
您可以分享您的电子邮件图片吗?
-
您是否考虑过要求发件人在创建电子邮件时将 csv 文件附加到您的电子邮件中。他们已经拥有数据,因此可以轻松创建 csv 文件,并且更容易将数据直接提取到正确类型的数组中。
-
图片现在在顶部共享。电子邮件是自动的。无法添加附件。
-
好吧,看起来你的代码只是剥离了 html 标签,没有别的。
-
你能分享其中一封电子邮件的原始内容吗?您可以通过显示原件在 gmail 中获取它。
标签: google-apps-script google-sheets gmail