+ -
当前位置:首页 → 问答吧 → 【学习并记录013】从Outlook收件箱邮件提取发件人邮箱到excel后再导入到Outlook联系人

【学习并记录013】从Outlook收件箱邮件提取发件人邮箱到excel后再导入到Outlook联系人

时间:2009-10-27

来源:互联网

步骤如下:
1,新建工作簿book1,第一张表取名“邮件地址提取”,并保存
2,ALT+f11,进入vba,插入模块1,复制粘贴如下代码:

Sub GetSender()

'按照邮件接收日期由最近到最早的顺序提取发件人邮箱地址到Excel

Dim myOlApp As Outlook.Application
Dim mpfInbox As Outlook.MAPIFolder
Dim obj As Outlook.MailItem
Dim myexApp As Excel.Application
Dim i As Integer

Set myOlApp = CreateObject("Outlook.Application")
Set mpfInbox = myOlApp.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)

Workbooks("Book1.xls").Worksheets("邮件地址提取").Select

For i = mpfInbox.Items.Count To 1 Step -1
  If mpfInbox.Items(i).Class = olMail Then
    Set obj = mpfInbox.Items.Item(i)
    Cells(i, 1) = obj.SenderEmailAddress
    Cells(i, 2) = obj.SenderName
   
  End If
  
   
Next i

End Sub

3,由于提取到的邮箱地址也许有重复的(同一个发件人发多封邮件给你),所以要利用03excel高级筛选或07excel删除重复值的功能,剔除重复值

4,复制剔除重复值后的邮箱地址和发件人姓名等到另一张excel表格,并对该数据区域命名为mymail(任意名字均可),保存

5,打开outlook,进入联系人,利用导入和导出的功能-从另一程序和文件导入-excel2003-2007,建立好映射关系后导入即可

[ 本帖最后由 lgcmeli 于 2010-3-3 17:17 编辑 ]

附件

Book1.rar(11.35 KB)

2009-10-27 15:38, 下载次数: 100

作者: lgcmeli   发布时间: 2009-10-27

为什么要这样做啊

绕了一个大圈子啊

重装系统忘记备份联系人信息?

[ 本帖最后由 xinjiana 于 2009-10-27 15:56 编辑 ]

作者: xinjiana   发布时间: 2009-10-27

每次陌生来信的地址,OUTLOOK无法自动保存邮件地址,所以如此操作。

作者: lgcmeli   发布时间: 2009-10-28

谢谢楼主分享。学习了。

作者: lb_bn   发布时间: 2009-10-29

申请高亮或者精华。

作者: lgcmeli   发布时间: 2009-11-04

我按楼主的方法和楼主提供的excel档。为什么还是保存不了啊?
请赐教

作者: joff   发布时间: 2009-11-25

谢谢楼主分享,学习了!

作者: 亡者天下   发布时间: 2009-11-25

为什么不可以呢,说说具体状况?

作者: lgcmeli   发布时间: 2010-03-03

我是在2010版本下试了 没反应。。。

作者: dp1981dp   发布时间: 2010-08-07

我也是在2010版本下试了 错误429

作者: alanlu   发布时间: 2010-08-20

引用:
原帖由 alanlu 于 2010-8-20 12:34 发表
我也是在2010版本下试了 错误429
这么多人用2010

不知2010比2007增加了哪些功能。

作者: dsd999   发布时间: 2010-08-20

真的有点复杂啊

作者: taurenqq   发布时间: 2010-08-23

microsoft office outlook 通用吗?我的也是没反应,运行vba程序,提示找不到工程或者库

作者: xilang2000   发布时间: 2010-09-15

我的也用不了哦

作者: flowerzhu   发布时间: 2010-09-21