ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 6718|回复: 14

[求助] 收集新邮件内容里面的字段

[复制链接]

TA的精华主题

TA的得分主题

发表于 2014-5-7 12:20 | 显示全部楼层 |阅读模式
我们有个查询岗,所有同事针对某产品的查询都会发邮件问他。查询岗会从邮件内容里面提取字段,整理成表格。但是由于同事们的邮件并不规范,可以说是乱七八糟,如果有个宏,能自动收集邮件内容里面的关键字,就好了。 图片1.png
宏的目的:通过对邮件加一个按钮,能读取该邮件相关内容到指定excel中
如上图,这是某同事发来的邮件的截图。
目的:读取该邮件的产品ID、日期、查询内容,放入d:\数据查询.xlsx的表1的a:c列(需要从表的末端开始放,一般采用range("a"&[a1].end(xldown).row)=...)
难点:
首先,这个邮件的主题是不定的(不是所有邮件都是来查询的,就算是查询邮件,有的主题可能叫“查询”,也有可能叫“呵呵”,所以建议在邮件窗体中加个按钮,由收件人手工判断这个邮件内容收不收集)
其次,邮件正文部分,可能有一堆废话,但实际上,我只需要3个字段,所以可能需要用到正则表达式
另外,字段名,不一定都是标准的,如“产品ID”,有可能叫“ID”,或者叫“产品名称”,不过这个相对比较规范,您就假设要么叫“产品ID”,或者“ID”,或者“产品名称”好了。
先谢谢高手。很少有人在outlook问vba问题。本来我也以为做不到的,但是看了版主的几个帖子后,觉得这还是有可能的。

TA的精华主题

TA的得分主题

发表于 2014-5-7 16:43 | 显示全部楼层
目前只做到了新邮件来的时候,创建新邮件的对象,同时可以获取其内容。
但是内容不统一的话,那就不知道该怎么判断了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-5-7 17:02 | 显示全部楼层
likeslh 发表于 2014-5-7 16:43
目前只做到了新邮件来的时候,创建新邮件的对象,同时可以获取其内容。
但是内容不统一的话,那就不知道该 ...

我觉得需要获取邮件正文,将其写入一个变量,然后通过正则表达式,获取关键字,比如:获取“产品ID:”及之后的一个逗号或者句号之间的内容,认为这是一个ID
然后将这个ID写入另一变量,用代码打开excel,将该变量写到excel中去
个人想象,期待高手

TA的精华主题

TA的得分主题

发表于 2014-5-7 17:34 | 显示全部楼层
如果确实有产品ID之类的标识符的话,可以如下操作:
获取到 MailItem.Body 之后,可以用Instr(MailItem.Body,"产品ID") 得到“产品ID”出现的位置,
再用 Mid 函数获取“产品ID”之后的内容就可以了。

TA的精华主题

TA的得分主题

发表于 2014-5-8 09:37 | 显示全部楼层
主题 不 统一的话 可以用发件人比较


如果确实有产品ID之类的标识符的话,可以如下操作:
获取到 MailItem.Body 之后,可以用Instr(MailItem.Body,"产品ID") 得到“产品ID”出现的位置,
再用 Mid 函数获取“产品ID”之后的内容就可以了。

但是要有关键字 否则 都是不行

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-5-8 09:42 | 显示全部楼层
闻启学 发表于 2014-5-8 09:37
主题 不 统一的话 可以用发件人比较

发件人也不固定,因为谁都可以来问,但是并不是每个邮件都是来查询的。所以需要做个按钮,由人工判断这个邮件要不要收集。

TA的精华主题

TA的得分主题

发表于 2014-5-8 10:13 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
wgx711 发表于 2014-5-8 09:42
发件人也不固定,因为谁都可以来问,但是并不是每个邮件都是来查询的。所以需要做个按钮,由人工判断这个 ...

还有一个方法 根据关键字判断是否收集

这样的 邮件内容必须有关键字  产品ID
之类 的

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-5-8 13:58 | 显示全部楼层
闻启学 发表于 2014-5-8 10:13
还有一个方法 根据关键字判断是否收集

这样的 邮件内容必须有关键字  产品ID

你能帮忙写个看看吗?

TA的精华主题

TA的得分主题

发表于 2014-5-8 14:37 | 显示全部楼层
wgx711 发表于 2014-5-8 13:58
你能帮忙写个看看吗?

能否 给我看看完整的邮件信息

TA的精华主题

TA的得分主题

发表于 2014-5-8 14:38 | 显示全部楼层
wgx711 发表于 2014-5-8 13:58
你能帮忙写个看看吗?

能否 给我看看完整的邮件内容
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-22 19:02 , Processed in 0.042102 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表