嗨,我只是想知道我是否可以提取标签上某封邮件的所有电子邮件内容,并将它们放入google spreadsheet.Its中,非常累人地打开每一封电子邮件,并将每一份数据复制并粘贴到电子表格中,以便进行相应的安排。我试图在vb中创建一个宏来安排电子邮件,但我仍然需要打开每封电子邮件,以获取数据并将它们放在我的excel文件中。
以下是我希望根据标签排列的电子邮件内容示例,每一封电子邮件都将按行和列显示:
CO类型:仅限于IV型
汽车型号:手动日期:2016年11月21日1:49:11 PM汽车型号:三菱
公司地址:高峰价格: 8,000.00
CA: Michael,John SPO:单加:单元3,旧金山,加拿大LM : Oyster
SOI:工厂工人POS: 1 mate ADD: 3单元圣地亚哥,加利福尼亚
我想要的是根据我创建的标题来排列它们:这是在每封邮件乞讨之前,直到冒号(:)标记。我已经通过搜索单词的开头,直到冒号,并使用剪切和粘贴在excel上,但由于手动打开和粘贴电子邮件在我的文件仍然花了很多时间。有这方面的工作吗?
发布于 2016-11-24 05:56:09
您可以使用保存Gmail附加组件将电子邮件元数据保存到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()])
}
}发布于 2019-07-30 12:54:21
我在上编写了你想要的代码,我制作了一个YouTube视频,详细解释了这一点。您可以从下面的链接查看它:
https://www.youtube.com/watch?v=gdgCVqtcIw4
但是,如果您想从电子邮件正文中提取特定文本,则需要使用正则表达式。我的视频系列的第2部分解释了如何实现这一点。你可以在这里看:
https://youtu.be/nI1OH3pAz6s?t=9
您也可以从我的博客中阅读完整的一步一步的解释:https://codewondo.com/2021/07/29/gmail-emails-to-spreadsheet/。
您还可以从以下链接从GitHub获得完整的代码:
发布于 2016-11-24 05:58:47
是的,你能做到的。事实上,我有一个Google脚本就是这么做的。我的脚本有一个web,您可以在其中设置一个前后日期字段和一个文件名字段。启动脚本后,它将接收所有电子邮件(不是线程,Gmail与线程一起工作,如果您想搜索单个消息,则需要使用Gmail ),然后可以将有关它的任何内容输出到Google电子表格。
我建议不要使用VB,而是建议使用GAS。您可以使用GmailApp.getUserLabelByName("MyLabel")获取要从其中提取消息的标签,然后使用.getThreads()从标签中获取所有线程(会话)。
阅读线程这里可以做什么,以及如何处理消息这里。就我个人而言,我使用了Gmail API并使用了
queriedMessages =
Gmail.Users.Messages.list(userInfo.mail, {
'q': queryString,
'pageToken': execProperties.nextPageId
});然后我可以从个人信息中提取我想要的信息。查询字符串基本上就是在Gmail中搜索电子邮件的内容,因此您可以使用类似于label:"This-label"的内容。
https://stackoverflow.com/questions/40778868
复制相似问题