利用VBA将Outlook邮件的信息存入数据库,批量下载附件并重命名
2017-05-11 17:02
489 查看
1.打开OutLook,用ALT+F11打开VBA编辑器
2.插入以下代码:
3.利用Office Outlook 2007的规则,它可以设定对满足一定条件的邮件自动运行脚本,然后选择脚本为SaveAttach函数即可。这样便能实现收到某些邮件时自动保存符合条件的附件到相应文件目录。 说明:Outlook里面可以设置“通知和规则”,(在“工具”=>“规则和通知”)如图:
注:在Outlook的信任中心勾选上“允许使用脚本在Outlook的信任中心勾选上“允许使用脚本”。
2.插入以下代码:
Private Sub Application_NewMail() Dim myOlApp As Application Dim myNameSpace As NameSpace Dim myibox As MAPIFolder Dim mydelitems As MAPIFolder Dim myitem As MailItem Dim subject As String Dim rectime As String Dim from_addr As String Dim to_addr As String Dim emailbody As String Dim att_count As Integer Dim sql_str As String Dim strConn As String Dim myGuid As String Dim TypeLib Dim i As Integer Dim path As String Dim cn As Object Set cn = CreateObject("ADODB.Connection") strConn = "Provider=sqloledb;Server=192.168.3.9;Database=GEARMAGE;Uid=GEARMAGE;Pwd=GEARMAGE;" cn.Open strConn Set myOlApp = CreateObject("Outlook.Application") Set myNameSpace = myOlApp.GetNamespace("MAPI") Set myibox = myNameSpace.GetDefaultFolder(olFolderInbox) Set myFolder = myibox.Folders("PendingProcess") Set mymovefolder = myibox.Folders("Processed") Set TypeLib = CreateObject("Scriptlet.TypeLib") sql_str = String(3000, 0) For n = 1 To myFolder.Items.count Set myitem = myFolder.Items(n) If myitem.UnRead = True Then subject = myitem.subject rectime = myitem.CreationTime from_addr = myitem.SenderName to_addr = myitem.To emailbody = myitem.Body att_count = myitem.Attachments.count myGuid = Mid(TypeLib.GUID, 2, 36) sql_str = "INSERT INTO dbo.OUTLOOK_VBA_TEST( ID ,NAME ,EMAIL_DATE ,FROM_ADDR ,TO_ADDRS ,EMAIL_BODY ,ATTACHMENTS_COUNT) VALUES ('" + myGuid + "','" + subject + "','" + rectime + "','" + from_addr + "','" + to_addr + "','" + emailbody + "'," + CStr(att_count) + ")" cn.Execute (sql_str) If att_count > 0 Then For i = 1 To att_count Set olAtt = myitem.Attachments(i) path = "D:\Email Attachment Temp\{" + myGuid + "}" + olAtt.FileName olAtt.SaveAsFile path Next End If End If myitem.Move mymovefolder Next n cn.Close Set cn = Nothing Set fldFolder = Nothing Set myNameSpace = Nothing End Sub
3.利用Office Outlook 2007的规则,它可以设定对满足一定条件的邮件自动运行脚本,然后选择脚本为SaveAttach函数即可。这样便能实现收到某些邮件时自动保存符合条件的附件到相应文件目录。 说明:Outlook里面可以设置“通知和规则”,(在“工具”=>“规则和通知”)如图:
注:在Outlook的信任中心勾选上“允许使用脚本在Outlook的信任中心勾选上“允许使用脚本”。
相关文章推荐
- 微信公众平台:前端批量下载语音并重命名文件
- python3.6+BeautifulSoup4 爬取360手机助手app应用的信息并存储数据库 批量下载apk
- 利用VBA自动保存outlook附件
- C#的VSTO学习笔记之OutLook插件开发(读取数据库表内容,批量发送邮件)
- python实现批量解析邮件并下载附件
- Outlook有效的利用邮件信息安排时间
- 利用outlook结合word与excel实现批量发送邮件
- python+POP3实现批量下载邮件附件
- sql server查询数据库信息作为附件发送邮件信息
- .net利用pop3组件接收邮件(包含附件的下载)
- python批量下载兰科植物网站的图片,并重命名文件
- python+POP3 批量下载邮件附件
- 批量添加JS脚本,像126发送邮件时的上传附件,可以自由增,减
- 利用JDBC显示数据库详细信息---JSP实现
- 利用JDBC显示数据库详细信息---JSP实现
- VBA应用示例: 自动化批量地删除OutLook日历项.
- 利用OleDb的GetOLEDBSchemaTable方法得到数据库架构信息
- 据公司内部邮件信息:甲骨文发布β版11g数据库 包含182项新功能
- 信息反馈-邮件(数据库是XML) (收集)
- 利用outlook自动回复邮件