darraghcoffey
asked on
Software plugin for Outlook
Hi,
does anybody know of software that will do the following:
Users send an email from Outlook (2000 and/or 2003; Exchange account; some remote users are using Outlook using RPC over https)
When a user presses send I'd like this software to ask them would they like to save a copy to a network share.
And if so, specify the location to save the copy of the email.
Different emails relate to different jobs so the network location will change on a per email basis
does anybody know of software that will do the following:
Users send an email from Outlook (2000 and/or 2003; Exchange account; some remote users are using Outlook using RPC over https)
When a user presses send I'd like this software to ask them would they like to save a copy to a network share.
And if so, specify the location to save the copy of the email.
Different emails relate to different jobs so the network location will change on a per email basis
This is simple enough to do with a bit of scripting? Is that an option?
ASKER
What would that involve?
I haven't done much scripting/programming since College?
I'd be willing to give it a go though.....
I haven't done much scripting/programming since College?
I'd be willing to give it a go though.....
> What would that involve?
Something like the code below. This code will fire each time Outlook sends anything. If the item being sent is a message (as opposed to a meeting request, task request, read receipt, etc.), then the code prompts the user asking if they want to save the message. If they click "yes", then a dialog-box appears so they can enter the path to save the item to. To use this code, follow these instructions.
1. Open Outlook.
2. Click Tools->Macro->Visual Basic Editor. You should now be looking at the code editor.
3. If it's not alread expanded, expand Microsoft Office Outlook Objects. Then click on ThisOutlookSession.
4. Copy the code below and paste it into the code window.
5. Edit the code as needed. I included a comment line where things can/need to change
6. Close the code window.
7. Exit Outlook.
8. Start Outlook.
9. You should receive a dialog-box asking if you want to enable macros. You must enable them for this code to work. You'll have to do this each time you start Outlook.
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim strPath As String
If Item.Class = olMail Then
'Change the message on the next line as desired
If MsgBox("Do you want to save a copy of this message to the file system?", vbYesNo + vbQuestion, "Save Message") = vbYes Then
'Change the message, caption, and default path on the next line as desired
strPath = InputBox("Enter the path to the folder where the message will be saved.", "Save Message", "C:\")
Item.SaveAs strPath & "\" & RemoveIllegalCharacters(It em.Subject ) & ".msg", olMSG
End If
End If
End Sub
Function RemoveIllegalCharacters(st rItem As String) As String
'This function strips illegal characters from the message subject so the subject can be used as the file name
Dim strTemp As String
strTemp = Replace(strItem, ":", "%58")
strTemp = Replace(strTemp, "/", "%47")
strTemp = Replace(strTemp, "\", "%92")
RemoveIllegalCharacters = strTemp
End Function
Something like the code below. This code will fire each time Outlook sends anything. If the item being sent is a message (as opposed to a meeting request, task request, read receipt, etc.), then the code prompts the user asking if they want to save the message. If they click "yes", then a dialog-box appears so they can enter the path to save the item to. To use this code, follow these instructions.
1. Open Outlook.
2. Click Tools->Macro->Visual Basic Editor. You should now be looking at the code editor.
3. If it's not alread expanded, expand Microsoft Office Outlook Objects. Then click on ThisOutlookSession.
4. Copy the code below and paste it into the code window.
5. Edit the code as needed. I included a comment line where things can/need to change
6. Close the code window.
7. Exit Outlook.
8. Start Outlook.
9. You should receive a dialog-box asking if you want to enable macros. You must enable them for this code to work. You'll have to do this each time you start Outlook.
Private Sub Application_ItemSend(ByVal
Dim strPath As String
If Item.Class = olMail Then
'Change the message on the next line as desired
If MsgBox("Do you want to save a copy of this message to the file system?", vbYesNo + vbQuestion, "Save Message") = vbYes Then
'Change the message, caption, and default path on the next line as desired
strPath = InputBox("Enter the path to the folder where the message will be saved.", "Save Message", "C:\")
Item.SaveAs strPath & "\" & RemoveIllegalCharacters(It
End If
End If
End Sub
Function RemoveIllegalCharacters(st
'This function strips illegal characters from the message subject so the subject can be used as the file name
Dim strTemp As String
strTemp = Replace(strItem, ":", "%58")
strTemp = Replace(strTemp, "/", "%47")
strTemp = Replace(strTemp, "\", "%92")
RemoveIllegalCharacters = strTemp
End Function
ASKER
BlueDevil,
Thanks a million - that worked a treat!
Now excuse me for being picky but if we could make one (small) improvement it would be absolutlely perfect (if we can make the improvement I'll increase value of question to 500)
1.) Instead of having to manually type in the filepath to save to; can we have an optional Browse button also?
Thanks a million - that worked a treat!
Now excuse me for being picky but if we could make one (small) improvement it would be absolutlely perfect (if we can make the improvement I'll increase value of question to 500)
1.) Instead of having to manually type in the filepath to save to; can we have an optional Browse button also?
ASKER
BlueDevil,
Also what will happen if two emails of same subject are saved to the same location? I haven't tried to do this yet
Also what will happen if two emails of same subject are saved to the same location? I haven't tried to do this yet
Ok, I'll put together something together that browses for the folder to save to. In answer to your question, right now the last message will received will overwrite any previous version. If you want that changed, then how do you want to handle duplicates.
ASKER
I suppose if they were to incement it would be great eg.
EmailSubject.msg; (as it would currently save it)
EmailSubject(2).msg
EmailSubject(3).msg
etc.
Cheers
EmailSubject.msg; (as it would currently save it)
EmailSubject(2).msg
EmailSubject(3).msg
etc.
Cheers
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Increasing the points of the solution!
ASKER
Thanks a million BlueDevil!
Note: For anyone else who wants to use this solution there is one (small) error in the code
You will need to add another End If between lines 7 & 8 in the definition of the Sub_Application
(as is presented in the first code)
Not to take from BlueDevil who is more than worth the 500 points!!
Note: For anyone else who wants to use this solution there is one (small) error in the code
You will need to add another End If between lines 7 & 8 in the definition of the Sub_Application
(as is presented in the first code)
Not to take from BlueDevil who is more than worth the 500 points!!
You're welcome, and thank you!