Outlook2010 利用VBA解决发送日报(DailyReport)邮件步骤麻烦的问题

最近因为重装系统,自己从Foxmail改为使用Outlook2010,发现Office的Outlook没有像Foxmail的邮件“再次发送”功能。

因为公司每天要求我们写日报(Daily Report),以前使用Foxmail的时候,我每次都会选中昨天的日报邮件,然后点击“再次发送”,Foxmail会创建一封跟昨天日报格式一模一样的邮件,我只需要改改其中的内容,其他的收件人、抄送人、主题、签名等均不用改变。

现在使用Outlook就麻烦多了,我只能点击“全部答复”,然后得把主题里面的“答复”字样的字符串删除,然后还得修改正文里面多出来的东西。

能不能利用Outlook现有的东西,实现像Foxmail一样的“再次发送”的功能?

今天花了点时间研究了一下VBA,发现VBA这个脚本语言是我见过最难使的一门语言,原因难以一一赘述。

不过最后总算找到一种勉强可行的办法:

一、创建一个模板文件DailyReport.oft,将收件人,主题,正文框架、签名一一编辑完成;

二、编写VBA脚本

Sub CreateNewDialyReport()

    Dim myNameSpace As Outlook.NameSpace
    Dim myFolder As Outlook.Folder
    Dim myItem As Object
    Dim myAccount As Account
    
    Dim newItem As MailItem
    Set newItem = Application.CreateItemFromTemplate("d:\Work\Email\DailyReport.oft", Application.Session.GetDefaultFolder(olFolderDrafts))
    
    newItem.Display (True)

End Sub

三、将宏加到主窗体的“快速访问工具栏”中

image

这样,每次一点击这个按钮,就会创建出一封新的格式都OK的邮件了!

原文地址:https://www.cnblogs.com/quark/p/2091611.html