嗨,我只是想知道我是否可以在标签上提取某些电子邮件的所有电子邮件内容并将它们放入谷歌电子表格中。打开每封电子邮件非常累人,并将每个数据复制并粘贴到电子表格中以便相应地安排。香港专业教育学院尝试在vb中创建一个宏来安排电子邮件,但我仍然需要打开每个电子邮件只是为了获取数据并将它们放在我的Excel文件上。
这是我想根据标签安排的示例电子邮件内容,每个电子邮件将按行和列显示:
CO类型:仅限IV
TYPE AUTO:手动
日期:2016年11月21日下午1:49:11
车型:三菱
公司地址:PEAK
价格:8,000.00
我想要的是根据我创建的标题来安排它们:这是在每个邮件开始之前,直到冒号(:)标记。我已经通过搜索开头直到冒号并在excel上使用剪切和粘贴来完成它,但由于手动打开并粘贴我的文件上的电子邮件,仍然需要很多时间。这有什么工作吗?
答案 0 :(得分:3)
您可以使用Save Gmail add-on将电子邮件元数据保存到Google表格。它还会将消息保存到云端硬盘。 (免责声明:我是附加组件的作者)
可以使用附加到Google表格的Google脚本来完成,就像这个片段一样。
function getGmailData() {
var sheet = SpreadsheetApp.getActiveSheet();
var threads = GmailApp.search("is:unread in:inbox", 0, 20);
for (var t=0; t<threads.length; t++) {
sheet.appendRow([threads[t].getDate(), threads[t].getId(), threads[t].getFirstMessageSubject()])
}
}
答案 1 :(得分:1)
我在Google App脚本上编码了您想要的内容,并制作了YouTube视频,详细说明了这一点。您可以通过以下链接观看它:
https://www.youtube.com/watch?v=gdgCVqtcIw4
您还可以从以下链接从GitHub获取完整代码:
https://gist.github.com/MoayadAbuRmilah/fcb75d0bf5be50b83e36e05746e2722d
答案 2 :(得分:0)
我建议使用GAS而不是VB。您可以使用GmailApp.getUserLabelByName("MyLabel")
来获取要从中提取消息的标签,然后使用.getThreads()
从标签中获取所有线程(对话)。
了解使用线程here可以执行的操作以及使用邮件here可以执行的操作。我个人使用了Gmail API并使用了
queriedMessages =
Gmail.Users.Messages.list(userInfo.mail, {
'q': queryString,
'pageToken': execProperties.nextPageId
});
然后我可以从个别消息中提取我想要的信息。查询字符串基本上是您要在Gmail中搜索电子邮件的内容,因此您可以使用label:"This-label"
答案 3 :(得分:0)
反应较晚,但希望我的回答可能对其他人有所帮助。我的附加组件刚刚发布,它确实具有上述功能:
这是附加链接:https://chrome.google.com/webstore/detail/email-parser-analytics/ilaecpapiiijoeijcffhnlhfjimammek
此加载项是这种脚本的高级版本:
ThisWorkbook.Sheets("Sheet1").Range("A1")