quark

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

 

最近因为重装系统,自己从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的邮件了!

posted on 2011-06-27 19:25  QuarkZ  阅读(2351)  评论(0)    收藏  举报