在Outlook中用VBA导出HTML格式邮件
我每天所收到的e-mail中,订阅的电子杂志占了很大的比例。其中既有新闻也有电脑技术或娱乐性文章,加在一起竟有上百封。后来我知道单位里许多人同我一样也喜欢看,而且有的人还订了同样的杂志,所以我就每天收到邮件后把它们整理到局域网上去。只是这么多的邮件,整理起来工作量可不小,怎么解决一下呢?
这些邮件通常都是HTML格式的,用Outlook通常的方法不能正确的导出,而且分布在许多下层子夹中,导出很麻烦。我在OUTLOOK中,用VBA实现了HTML邮件导出并自动发布到网络上。
要对邮件箱里的邮件进行操作,首先要取得Outlook MAPI名字空间。可以使用下面的语句:
Dim mobjOutlook As Outlook.NameSpace
Dim objOutlook As New Outlook.Application
mobjOutlook=objoutlook.GetNameSpace(“MAPI”)
用mobjOutlook的GetDefaultFolder方法。可以取得收件箱的MAPIFolder对象:
Dim objFolder As Outlook.MAPIFolder
ObjFolder=mobjOutlook.GetDefaultFolder(6)
其中参数6代表收件箱,其他参数的意义如下表:
常量 |
数值 |
描述 |
OlFolderDeletedItems |
3 |
已删除邮件 |
OlFolderOutbox |
4 |
发件箱 |
OlFolderSentMail |
5 |
已发件邮件 |
olFolderInbox |
6 |
收件箱 |
OlFolderCalendar |
9 |
日历 |
OlFolderContacts |
10 |
联系人 |
olFolderJournal |
11 |
日记 |
olFolderNotes |
12 |
便笺 |
olFolderTasks |
13 |
任务 |
olFolderDrafts |
16 |
草稿 |
在objFolder的属性包含邮件项集合即ITEMS,也包含所有下一级子夹的集合Folders。
对每一个邮件,首先取得邮件的接收时间,如果是当天收到的就创建并打开一个HTML文件,以其主题Subject为文件名,把它的HTML格式的内容,即HTMLBody属性的值写入这个文件,然后关闭并处理下一个。
对下一级子夹,用递归调用的方式,可以遍历收件箱中每一层夹中的所有邮件。在生成邮件文件时,还同时生成索引文件。
完整的程序如下:
Private mobjOutlook As Outlook.NameSpace
Private fs, fo
Private Sub GetOutlook()
Dim objOutlook As New Outlook.Application
Set mobjOutlook = objOutlook.GetNamespace("MAPI")
End Sub
Sub ListMailFolders(objFolder As Outlook.MAPIFolder)
Dim objItem As Object
Dim f
Dim str1, str2, str3 As String
For Each objItem In objFolder.Items
If (FormatDateTime(objItem.ReceivedTime, vbShortDate) = FormatDateTime(Date, vbShortDate)) Then
str2 = objItem.Subject
str1 = "j:wwwrootnews" + str2 + ".htm"
Set f = fs.OpenTextFile(str1, 2, True, TristateFalse)
f.Write objItem.HTMLBody
f.Close
str3 = "< p>< a href='" + objItem.Subject + ".htm'>" + objItem.Subject + "< /a>< /p> "
fo.Write str3
End If
Next
Dim objf As Outlook.MAPIFolder
For Each objf In objFolder.Folders
ListMailFolders objf
Next
Set objItem = Nothing
End Sub
Sub ListMailItems(longFolder As Long)
Dim objFolder As Outlook.MAPIFolder
Dim f
If mobjOutlook Is Nothing Then
GetOutlook
End IF
Set objFolder = mobjOutlook.GetDefaultFolder(longFolder)
ListMailFolders objFolder
End Sub
Private Sub storemail()
Set fs=CreateObject(“Scripting.FileSystemObject”)
Set fo=fs.OpenTextFile(“j:wwwrootnewsindex.html”,2,True,TristateFalse)
fo.Write “< HTML>< HEAD>< META content=’text/html; charset=gb2312’ http-equiv=Content-Type> < TITLE>< /TITLE>< /HEAD>< BODY>
ListMailItems(6)
fo.Write “< /BODY>< /HTML>”
fo.Close
End Sub
在Outlook2000中创建一个新的宏,用VB编辑器编辑它,把上面的程序拷贝到同一模块,注意把生成文件的目录名改为自己WEB服务器上的WWW服务根文件夹名。在宏中调用storemail,执行宏,就可以导出当天收到的所有邮件。
所有指向这些HTML文件的链接放在同一目录下的index.html中,这样每个人都可以在网上浏览这些文章了。
在Outlook中用VBA导出HTML格式邮件相关推荐
- Outlook 批量导出多个邮件的附件
Outlook 批量导出多个邮件的附件 1.需求描述 2.实现步骤 3.升级:导出附件到以主题命名的文件夹 系统:Win10 Outlook:Microsoft Office 2016 1.需求描述 ...
- 163邮箱导出eml格式文件
突然被要求既往邮件导出eml格式文件,懵逼了,百度了一圈,以作记录
- Win7 Office Outlook客户端报没有默认的邮件客户端,或当前客户端无法实现该邮件的请求。
** Win7 Office Outlook客户端报没有默认的邮件客户端,或当前客户端无法实现该邮件的请求. ** 我们可以打开 开始>设置>程序>默认程序.往下拉,点击根据文件类型 ...
- 三星手机通讯录导出 .spb格式转.vcf
三星手机通讯录导出 .spb格式转.vcf 三星GALAXY S4手机屏幕损坏,能正常开机,无法进行其他操作,拿去修屏幕已经没必要,现在主要把通讯录和照片导出到另一部安卓手机. 导出照片比较容易,手机 ...
- mail message 支持html,html格式邮件发送通过stmp
importjava.io.FileOutputStream; importjava.util.Date; importjava.util.Properties; importjavax.mail.M ...
- EXCEL VBA 导出高清图片方法
EXCEL VBA 导出高清图片方法 将EXCEL表格内容另存为图片的方法有很多种,简单的比如"复制为图片格式并另存","打印成XPS"等等,本文着重的是利用V ...
- 【Python】导出docx格式Word文档中的文本、图片和附件等
[Python]导出docx格式Word文档中的文本.图片和附件等 零.需求 为批量批改学生在机房提交的实验报告,我需要对所有的实验文档内容进行处理.需要批量提取Word文档中的图片和附件以便进一步检 ...
- DataSet导出CSV格式(ASP.NET,C#)
DataSet导出CSV格式(ASP.NET,C#) 作者:Not MSN:notking@hotmail.com Email:nots@sohu.com 本文引用下面的 Microsoft ...
- blender 导出 obj 格式,3dsmax 导入3ds max obj 格式数据
blender 导出 obj 格式,3dsmax 导入3ds max obj 格式数据 blender 导出 3dsmax 导入
最新文章
- 空地通信传输详解——飞机是这样和地面通信的
- 皮一皮:钢铁直女?鉴定了,钢的不能再钢!
- 用python画万花筒写轮眼_万花筒写轮眼画法教程
- 京东大型API网关实践之路
- python画日漫_不能错过的Python漫画
- MyBatis 源码解读-XMLConfigBuilder
- 安卓使用jdbc连接mysql_Android:使用JDBC连接MySql
- [html] 实现九宫格布局
- [css] 举例说明与打印有关的属性有哪些?
- activiti7流程设计器_消防水泵结合器怎么安装,水泵结合器安装工艺分享
- php-ftm,FTM/MTF的激素种类
- infer的用法_infer运用实践
- js监听浏览器tab页面变化
- 关于爱情和婚姻的经典故事
- Python综合评价模型(二)灰色关联度法
- GYM 101128H Sheldon Numbers
- python之getattr()函数和importlib库的使用
- 支招:苹果电脑Mac版如何快速解压缩软件
- CheckBox复选框
- 苹果官方付费升级内存_新芯片、新电脑,或许还有苹果的新未来
热门文章
- 0基础学习数据分析必须掌握的技能有哪些?
- 如何判断 cxgrid 双击了哪一列_唐卡的价值主要体现在哪 如何判断唐卡的价值
- eclipse新建python文件夹_eclipse 如何创建python文件
- 简单介绍python连接telnet和ssh的两种方式
- 英国工程巨头遭勒索攻击:运营临时中断 至少损失4亿元
- STM32单片机真的落后?
- 二分图 ---- 树的二分图性质 2020icpc 济南 J Tree Constructer(构造)
- anaconda 升级jupyter notebook_搭建 Python 轻量级编写环境(WSL2+Jupyter 自动开启本地浏览器)
- c语言aba字母塔,打印字母金字塔,昨晚看到某个帖子的题目
- BZOJ 1592. Making the Grade(思维,数据结构优化DP,以及三个拓展问题)[Usaco2008 Feb]【BZOJ计划】