Thread: [Solved] Automating dates
View Single Post
 
Old 04-03-2013, 08:29 PM
niton niton is offline Windows 7 64bit Office 2010 64bit
Competent Performer
 
Join Date: Jul 2012
Posts: 102
niton is on a distinguished road
Default

Rather than recreating the entire email with VBA, try Replace.

Unfortunately I had a security warning message on each use of Replace.

Code:
Sub CreateFromTemplate_TF()

    Dim myOlApp As Outlook.Application

    Dim MyItem As Outlook.MailItem

    Set myOlApp = CreateObject("Outlook.Application")

    Set MyItem = myOlApp.CreateItemFromTemplate("C:\reportTF.oft")

    MyItem.Subject = "report for: " & Format(Date, "mm/dd/yy")

    MyItem.HTMLBody = Replace(MyItem.HTMLBody, "yesterday", Format(Date - 1, "mm/dd/yy"))

    MyItem.HTMLBody = Replace(MyItem.HTMLBody, "today", Format(Date, "mm/dd/yy"))

    MyItem.Display

End Sub

 

Sub CreateFromTemplate_M()

    Dim myOlApp As Outlook.Application

    Dim MyItem As Outlook.MailItem

    Set myOlApp = CreateObject("Outlook.Application")

    Set MyItem = myOlApp.CreateItemFromTemplate("C:\reportM.oft")

    MyItem.Subject = "report for: " & Format(Date, "mm/dd/yy")

    MyItem.HTMLBody = Replace(MyItem.HTMLBody, "Friday", Format(Date - 3, "mm/dd/yy"))

    MyItem.HTMLBody = Replace(MyItem.HTMLBody, "Saturday", Format(Date - 2, "mm/dd/yy"))

    MyItem.HTMLBody = Replace(MyItem.HTMLBody, "today", Format(Date, "mm/dd/yy"))

    MyItem.Display

End Sub
Reply With Quote