Create a task from an email in Outlook with one click
jaap.kramer says:
I created a simple macro to generate a task from an email in Outlook with just one click on a toolbar button.
When clicking the button the macro will generate a new task in your RTM inbox with the subject of the mail as the task name. 'Email' as a tag and a due time of 'Tomorrow'.
The script must be configured to have your own private RTM Email adress (http://www.rememberthemilk.com/help/answers/sending/emailinbox.rtm). Just open up the downloaded file with notepad and edit the following to meet your configuration:
RTMDueTime = "Tomorow"
RTMTags = "Email"
RTMEmail = "Your RTM Email Adress here"
You can download the macro here:
http://dl.getdropbox.com/u/448239/RTM.bas
Wondering how to add it? Just go to the link below and folow the instructions. (replace NewMeetingRequest.bas with RTM.bas)
http://blogs.msdn.com/synergist/archive/2007/05/23/adding-a-vba-macro-to-outlook.aspx
When clicking the button the macro will generate a new task in your RTM inbox with the subject of the mail as the task name. 'Email' as a tag and a due time of 'Tomorrow'.
The script must be configured to have your own private RTM Email adress (http://www.rememberthemilk.com/help/answers/sending/emailinbox.rtm). Just open up the downloaded file with notepad and edit the following to meet your configuration:
RTMDueTime = "Tomorow"
RTMTags = "Email"
RTMEmail = "Your RTM Email Adress here"
You can download the macro here:
http://dl.getdropbox.com/u/448239/RTM.bas
Wondering how to add it? Just go to the link below and folow the instructions. (replace NewMeetingRequest.bas with RTM.bas)
http://blogs.msdn.com/synergist/archive/2007/05/23/adding-a-vba-macro-to-outlook.aspx
jaap.kramer says:
Forgot to mention that the macro will add the email body content as a note on the generated task.
Dear Jaap,
This is a great script and it works flawless! By using this script you have brought outlook one step closer to DA's Lotus Notes with the eProductivity add-on. Best of all it supports my cross-platform work (mac @home, pc @work), which is always a challenge!
Dank je wel!!
Cheers,
Mathijs
This is a great script and it works flawless! By using this script you have brought outlook one step closer to DA's Lotus Notes with the eProductivity add-on. Best of all it supports my cross-platform work (mac @home, pc @work), which is always a challenge!
Dank je wel!!
Cheers,
Mathijs
(closed account) says:
Is this macro Outlook 2007 specific? It's not running for me on 2003.
Steve
Steve
jaap.kramer says:
It's not specific to 2007. Did you check the macro security options?
Maybe it's blocking the macro.
Japa
Maybe it's blocking the macro.
Japa
(closed account) says:
(smacks own forehead!)
Thank you Japa, working now.
Steve
Thank you Japa, working now.
Steve
jaap.kramer says:
No problem! Good to see it's working now.
Btw, it's Jaap instead of Japa. I made a stupid typo in my previous message, so i could smack my own forehead too!
Jaap
Btw, it's Jaap instead of Japa. I made a stupid typo in my previous message, so i could smack my own forehead too!
Jaap
(closed account) says:
doh!
Sorry Jaap.
Sorry Jaap.
ryansteele says:
Thank you for this macro. Perfect for what I needed.
ryansteele says:
UUGH, after upgrading to Microsoft 7 and Outlook 2007 it was not working. After messing around for 30+ minutes, I tried just restarting outlook with the correct settings. I guess it does not take your macro security changes until you restart...
If someone else has this problem, hope my note helps...
If someone else has this problem, hope my note helps...
(closed account) says:
Great idea!
I modified it just a tad to stick the item in a direct list and to pop up a box to prompt for a Due date:
' ###########################################################
' # Config #
' ###########################################################
RTMEmail = "username+abc123@@rmilk.com"
RTMList = "Work"
RTMDue = InputBox("When is this due?")
' ###########################################################
' # End Of Config #
' ###########################################################
' Copying the content of the body as task notte
RTMNote = Msg.Body
' Completing the create task process
RTMTask = RTMTask & "Due: " & RTMDue & vbCrLf & "List: " & RTMList & vbCrLf & "---" & vbCrLf & RTMNote
I modified it just a tad to stick the item in a direct list and to pop up a box to prompt for a Due date:
' ###########################################################
' # Config #
' ###########################################################
RTMEmail = "username+abc123@@rmilk.com"
RTMList = "Work"
RTMDue = InputBox("When is this due?")
' ###########################################################
' # End Of Config #
' ###########################################################
' Copying the content of the body as task notte
RTMNote = Msg.Body
' Completing the create task process
RTMTask = RTMTask & "Due: " & RTMDue & vbCrLf & "List: " & RTMList & vbCrLf & "---" & vbCrLf & RTMNote
(closed account) says:
dang. now I have to change my private email.
leah.shalom says:
This is awesome!! thanks so much.
(does anyone know of a similar macro for apple mail?)
Thanks
Leah
(does anyone know of a similar macro for apple mail?)
Thanks
Leah
leah.shalom says:
Jaap and Jason,
Have either of you gotten this to work with an Outlook Calendar item? The microsoft blog site linked above suggests that it is possible, but it isn't working for me (or others in my department).
Thanks!
Leah
Have either of you gotten this to work with an Outlook Calendar item? The microsoft blog site linked above suggests that it is possible, but it isn't working for me (or others in my department).
Thanks!
Leah
davemag says:
IN a quasi-GTD fashion, I do a lot of tagging and listing in RTM, so I altered Jaap's macro a bit. In this version the macro will present an input box for tags (separated by a comma), then another input box for a due date. Saves having to add all that stuff in RTM.
Thanks to Jaap for a great macro!!
Dave Magnenat
Sub MilkIt()
Dim objItem As Object
Dim Msg As Outlook.MailItem
Dim NewForward As Outlook.MailItem
Dim MyFolder As Outlook.MAPIFolder
Dim olApp As Outlook.Application
Dim olNS As Outlook.NameSpace
Dim RTMDueTime As String
Dim RTMTags As String
Dim RTMNote As String
Dim RTMList As String
Dim RTMTask As String
Dim RTMEmail As String
Dim MyTags As String
Dim MyDueDate As String
On Error Resume Next
Select Case TypeName(Application.ActiveWindow)
Case "Explorer"
Set objItem = _
Application.ActiveExplorer.Selection.item(1)
Case "Inspector"
Set objItem = _
Application.ActiveInspector.CurrentItem
End Select
On Error GoTo 0
If objItem Is Nothing Then
MsgBox "Nothing selected!", vbExclamation
GoTo ExitProc
End If
If objItem.class = olMail Then
Set Msg = objItem
Else
MsgBox "No message selected!", vbExclamation
GoTo ExitProc
End If
Set olApp = Outlook.Application
Set olNS = olApp.GetNamespace("MAPI")
Set MyFolder = olNS.GetDefaultFolder(olFolderInbox)
' ###########################################################
' # Config #
' ###########################################################
' RTMDueTime = "Today"
' RTMTags = ""
RTMEmail = "your_email_here@rmilk.com"
' ###########################################################
' # End Of Config #
' ###########################################################
' Copying the content of the body as task notte
RTMNote = Msg.Body
' Get project number and due date
MyTags = InputBox("Enter other tags", "Add Tags")
RTMTags = MyValue
MyDueDate = InputBox("Enter Due Date", "Due Date")
RTMDueTime = MyDueDate
' Completing the create task process
RTMTask = RTMTask & "Due: " & RTMDueTime & vbCrLf & "Tags: " & RTMTags & vbCrLf & "---" & vbCrLf & RTMNote
' Forwarding the email
Set NewForward = Msg.Forward
With NewForward
.Subject = Msg.Subject
.To = RTMEmail
.Body = RTMTask
.Send
End With
' End of Macro
ExitProc:
Set NewForward = Nothing
Set Msg = Nothing
Set objItem = Nothing
End Sub
Thanks to Jaap for a great macro!!
Dave Magnenat
Sub MilkIt()
Dim objItem As Object
Dim Msg As Outlook.MailItem
Dim NewForward As Outlook.MailItem
Dim MyFolder As Outlook.MAPIFolder
Dim olApp As Outlook.Application
Dim olNS As Outlook.NameSpace
Dim RTMDueTime As String
Dim RTMTags As String
Dim RTMNote As String
Dim RTMList As String
Dim RTMTask As String
Dim RTMEmail As String
Dim MyTags As String
Dim MyDueDate As String
On Error Resume Next
Select Case TypeName(Application.ActiveWindow)
Case "Explorer"
Set objItem = _
Application.ActiveExplorer.Selection.item(1)
Case "Inspector"
Set objItem = _
Application.ActiveInspector.CurrentItem
End Select
On Error GoTo 0
If objItem Is Nothing Then
MsgBox "Nothing selected!", vbExclamation
GoTo ExitProc
End If
If objItem.class = olMail Then
Set Msg = objItem
Else
MsgBox "No message selected!", vbExclamation
GoTo ExitProc
End If
Set olApp = Outlook.Application
Set olNS = olApp.GetNamespace("MAPI")
Set MyFolder = olNS.GetDefaultFolder(olFolderInbox)
' ###########################################################
' # Config #
' ###########################################################
' RTMDueTime = "Today"
' RTMTags = ""
RTMEmail = "your_email_here@rmilk.com"
' ###########################################################
' # End Of Config #
' ###########################################################
' Copying the content of the body as task notte
RTMNote = Msg.Body
' Get project number and due date
MyTags = InputBox("Enter other tags", "Add Tags")
RTMTags = MyValue
MyDueDate = InputBox("Enter Due Date", "Due Date")
RTMDueTime = MyDueDate
' Completing the create task process
RTMTask = RTMTask & "Due: " & RTMDueTime & vbCrLf & "Tags: " & RTMTags & vbCrLf & "---" & vbCrLf & RTMNote
' Forwarding the email
Set NewForward = Msg.Forward
With NewForward
.Subject = Msg.Subject
.To = RTMEmail
.Body = RTMTask
.Send
End With
' End of Macro
ExitProc:
Set NewForward = Nothing
Set Msg = Nothing
Set objItem = Nothing
End Sub
andrew.wilkie says:
OK, I use another email system corporately. Can company admins not stop users from creating their own macros in Outlook? I know they can in other mail client types.
I find a "text template" email works across all email client types.
A
I find a "text template" email works across all email client types.
A
davemag says:
*** Corrected Script ***
Sorry for problem..the last script I printed did not properly transfer tags into RTM. Wrong variable called out. Here's the corrected script for the macro.
Sub MilkIt()
Dim objItem As Object
Dim Msg As Outlook.MailItem
Dim NewForward As Outlook.MailItem
Dim MyFolder As Outlook.MAPIFolder
Dim olApp As Outlook.Application
Dim olNS As Outlook.NameSpace
Dim RTMDueTime As String
Dim RTMTags As String
Dim RTMNote As String
Dim RTMList As String
Dim RTMTask As String
Dim RTMEmail As String
Dim MyTags As String
Dim MyDueDate As String
On Error Resume Next
Select Case TypeName(Application.ActiveWindow)
Case "Explorer"
Set objItem = _
Application.ActiveExplorer.Selection.item(1)
Case "Inspector"
Set objItem = _
Application.ActiveInspector.CurrentItem
End Select
On Error GoTo 0
If objItem Is Nothing Then
MsgBox "Nothing selected!", vbExclamation
GoTo ExitProc
End If
If objItem.class = olMail Then
Set Msg = objItem
Else
MsgBox "No message selected!", vbExclamation
GoTo ExitProc
End If
Set olApp = Outlook.Application
Set olNS = olApp.GetNamespace("MAPI")
Set MyFolder = olNS.GetDefaultFolder(olFolderInbox)
' ###########################################################
' # Config #
' ###########################################################
' RTMDueTime = "Today"
' RTMTags = "-na"
RTMEmail = "YOUR EMAIL HERE"
' ###########################################################
' # End Of Config #
' ###########################################################
' Copying the content of the body as task notte
RTMNote = Msg.Body
' Get project number and due date
MyTags = InputBox("Enter other tags", "Add Tags")
RTMTags = MyTags
MyDueDate = InputBox("Enter Due Date", "Due Date")
RTMDueTime = MyDueDate
' Completing the create task process
RTMTask = RTMTask & "Due: " & RTMDueTime & vbCrLf & "Tags: " & RTMTags & vbCrLf & "---" & vbCrLf & RTMNote
' Forwarding the email
Set NewForward = Msg.Forward
With NewForward
.Subject = Msg.Subject
.To = RTMEmail
.Body = RTMTask
.Send
End With
' End of Macro
ExitProc:
Set NewForward = Nothing
Set Msg = Nothing
Set objItem = Nothing
End Sub
Sorry for problem..the last script I printed did not properly transfer tags into RTM. Wrong variable called out. Here's the corrected script for the macro.
Sub MilkIt()
Dim objItem As Object
Dim Msg As Outlook.MailItem
Dim NewForward As Outlook.MailItem
Dim MyFolder As Outlook.MAPIFolder
Dim olApp As Outlook.Application
Dim olNS As Outlook.NameSpace
Dim RTMDueTime As String
Dim RTMTags As String
Dim RTMNote As String
Dim RTMList As String
Dim RTMTask As String
Dim RTMEmail As String
Dim MyTags As String
Dim MyDueDate As String
On Error Resume Next
Select Case TypeName(Application.ActiveWindow)
Case "Explorer"
Set objItem = _
Application.ActiveExplorer.Selection.item(1)
Case "Inspector"
Set objItem = _
Application.ActiveInspector.CurrentItem
End Select
On Error GoTo 0
If objItem Is Nothing Then
MsgBox "Nothing selected!", vbExclamation
GoTo ExitProc
End If
If objItem.class = olMail Then
Set Msg = objItem
Else
MsgBox "No message selected!", vbExclamation
GoTo ExitProc
End If
Set olApp = Outlook.Application
Set olNS = olApp.GetNamespace("MAPI")
Set MyFolder = olNS.GetDefaultFolder(olFolderInbox)
' ###########################################################
' # Config #
' ###########################################################
' RTMDueTime = "Today"
' RTMTags = "-na"
RTMEmail = "YOUR EMAIL HERE"
' ###########################################################
' # End Of Config #
' ###########################################################
' Copying the content of the body as task notte
RTMNote = Msg.Body
' Get project number and due date
MyTags = InputBox("Enter other tags", "Add Tags")
RTMTags = MyTags
MyDueDate = InputBox("Enter Due Date", "Due Date")
RTMDueTime = MyDueDate
' Completing the create task process
RTMTask = RTMTask & "Due: " & RTMDueTime & vbCrLf & "Tags: " & RTMTags & vbCrLf & "---" & vbCrLf & RTMNote
' Forwarding the email
Set NewForward = Msg.Forward
With NewForward
.Subject = Msg.Subject
.To = RTMEmail
.Body = RTMTask
.Send
End With
' End of Macro
ExitProc:
Set NewForward = Nothing
Set Msg = Nothing
Set objItem = Nothing
End Sub
sjbcomputing says:
davemag - having a problem with the script. (I did use the Corrected Script)
Using Office 2007 on W7 and I've set the macro security to warn (which it does then OL loads, and I allow macros).
Added the macro to a button on the New Email quick access toolbar.
I create a new email, add a subject, add a note and click the macro button.
the other tags and due date msg boxes flash up as they should (what format does the date have to take; xx/xx/xxxx, xxxxxx...?)
It sends the email OK and it's r'cd at RTM...
But, with no tag(s), due date or note - just the content I put in the subject field.
Any help would be appreciated please.
Thanks
Simon
DETAILS RCD AT RTM.
Test from OUtlook
Completed: never
Due: never
Repeat: never
Time estimate: none
Tags: none
Location: none
URL: none
Postponed: 0 times
Sent from: Emailed in
Notes: 0
Using Office 2007 on W7 and I've set the macro security to warn (which it does then OL loads, and I allow macros).
Added the macro to a button on the New Email quick access toolbar.
I create a new email, add a subject, add a note and click the macro button.
the other tags and due date msg boxes flash up as they should (what format does the date have to take; xx/xx/xxxx, xxxxxx...?)
It sends the email OK and it's r'cd at RTM...
But, with no tag(s), due date or note - just the content I put in the subject field.
Any help would be appreciated please.
Thanks
Simon
DETAILS RCD AT RTM.
Test from OUtlook
Completed: never
Due: never
Repeat: never
Time estimate: none
Tags: none
Location: none
URL: none
Postponed: 0 times
Sent from: Emailed in
Notes: 0
tgl says:
Hi,
I created a small minimalistic application using the ability to send emails to your RTM account to quickly add tasks.
It does essentially the same as described above but in my opinion it's much easier to use.
This is an application I have created for personal use, so it is a beta version.
Feel free to use it but don't blame me for bugs or problems!
---------------------------------------------------------------------------------
Download: http://www.paradoxic.dk/RTMToolMate.zip
---------------------------------------------------------------------------------
Current Features (Not many):
- Uses smart add features to quickly add due date, priority, tags, list, time estimates etc. to your task.
To use RTM ToolMate it is required that you have a Gmail account.
You must also add your RTM inbox mail address to the Settings dialog. You can find your own RTM inbox mail address by logging in to your RTM account, and then go to Settings->Info
Now you are ready to go :-)
I suggest that you add a shortcut to RTM ToolMate and assign a shortcut key to it. This allows you to quickly launch the application by pressing eg. CTRL + ALT + T.
I created a small minimalistic application using the ability to send emails to your RTM account to quickly add tasks.
It does essentially the same as described above but in my opinion it's much easier to use.
This is an application I have created for personal use, so it is a beta version.
Feel free to use it but don't blame me for bugs or problems!
---------------------------------------------------------------------------------
Download: http://www.paradoxic.dk/RTMToolMate.zip
---------------------------------------------------------------------------------
Current Features (Not many):
- Uses smart add features to quickly add due date, priority, tags, list, time estimates etc. to your task.
To use RTM ToolMate it is required that you have a Gmail account.
You must also add your RTM inbox mail address to the Settings dialog. You can find your own RTM inbox mail address by logging in to your RTM account, and then go to Settings->Info
Now you are ready to go :-)
I suggest that you add a shortcut to RTM ToolMate and assign a shortcut key to it. This allows you to quickly launch the application by pressing eg. CTRL + ALT + T.
lutzf says:
In Office 2010 you can create QuickSteps.
With this new function you can create a forward-to-my-remember-the-milk-account task without any macros.
1.) Create "QuickStep"
2.) Action: "Forward", enter your @rmilk.com address
3.) add behind the "" your Smarttags
(if needed, select also "Mark the message as unread")
4.) Define a Shortcut Key
5.) Finish
This is a very helpfull funtion for me to priorise the work which must be done.
With this new function you can create a forward-to-my-remember-the-milk-account task without any macros.
1.) Create "QuickStep"
2.) Action: "Forward", enter your @rmilk.com address
3.) add behind the "" your Smarttags
(if needed, select also "Mark the message as unread")
4.) Define a Shortcut Key
5.) Finish
This is a very helpfull funtion for me to priorise the work which must be done.
Log in
to post a reply.