#1
|
|||
|
|||
Change subject to include date and time in subject
In my line of work I receive about 400+ emails daily, with multiple people responding back and forth, not always on the most current message.
I need to be able to save all the messages into a folder on my network, but when the subject line is the same, it forces me to copy and replace. I am looking for a way that I can have the subject be changed, so that it has the date and time it was sent in the subject line. That way the subject is different enough so it can save in the folder, but similar enough so if I need to search by subject key words, all the email from that chain will pull up. I have looked in to a rule using scripts, but I don't have a programming background, and would need someone to write the script for me, or point me in the right direction. Or if someone else has a better idea I am all ears. |
#2
|
||||
|
||||
The following macros will save the messages without overwriting any existing messages with the same filename (whether or not you include the date - I have left it optional).
The main SaveMessage macro can be run as a script from a rule to save the messages as they arrive, to the named folder. You can test it with TestMacro. Select a message and run the TestMacro several times to see how it handles filenames that exist. Although aimed at Word the process at http://www.gmayor.com/installing_macro.htm is virtually identical for Outlook. Code:
Option Explicit Sub SaveMessage(olItem As MailItem) Dim Fname As String Dim fPath As String fPath = "C:\Path\" 'The folder to save the documents Fname = olItem.Subject 'Next line is optional 'Fname = Format(olItem.ReceivedTime, "yyyymmdd") & Chr(32) & _ Format(olItem.ReceivedTime, "HH.MM") & Chr(32) & olItem.SenderName & " - " & Fname Fname = Replace(Fname, Chr(58) & Chr(41), "") Fname = Replace(Fname, Chr(58) & Chr(40), "") Fname = Replace(Fname, Chr(34), "-") Fname = Replace(Fname, Chr(42), "-") Fname = Replace(Fname, Chr(47), "-") Fname = Replace(Fname, Chr(58), "-") Fname = Replace(Fname, Chr(60), "-") Fname = Replace(Fname, Chr(62), "-") Fname = Replace(Fname, Chr(63), "-") Fname = Replace(Fname, Chr(124), "-") SaveUnique olItem, fPath, Fname lbl_Exit: Exit Sub End Sub Sub TestMacro() Dim olMsg As MailItem On Error GoTo lbl_Exit Set olMsg = ActiveExplorer.Selection.Item(1) SaveMessage olMsg lbl_Exit: Exit Sub End Sub Private Function SaveUnique(oItem As Object, _ strPath As String, _ strFilename As String) Dim lngF As Long Dim lngName As Long lngF = 1 lngName = Len(strFilename) Do While FileExists(strPath & strFilename & ".msg") = True strFilename = Left(strFilename, lngName) & "(" & lngF & ")" lngF = lngF + 1 Loop oItem.SaveAs strPath & strFilename & ".msg" lbl_Exit: Exit Function End Function Private Function FileExists(filespec) As Boolean Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject") If fso.FileExists(filespec) Then FileExists = True Else FileExists = False End If lbl_Exit: Exit Function End Function
__________________
Graham Mayor - MS MVP (Word) (2002-2019) Visit my web site for more programming tips and ready made processes www.gmayor.com |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Auto Subject Line | hollwall | Outlook | 0 | 04-19-2012 08:49 AM |
hyperlinks in subject line | daddyb | Outlook | 1 | 01-05-2012 07:40 AM |
change Subject (or :From") in Incoming messages | macrena | Outlook | 1 | 11-10-2010 07:27 PM |
Larger Font in To, cc, bcc and subject | maggiefrommemphis | Outlook | 0 | 09-15-2010 11:04 AM |
E mail subject....help | kelisia12 | Outlook | 1 | 02-24-2010 10:48 PM |