Forums

Discuss all things Remember The Milk.

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
Posted at 1:40pm on June 8, 2009
jaap.kramer says:
Forgot to mention that the macro will add the email body content as a note on the generated task.
Posted 14 years ago
mcmbunck says:
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
Posted 14 years ago
(closed account) says:
Is this macro Outlook 2007 specific? It's not running for me on 2003.

Steve
Posted 14 years ago
jaap.kramer says:
It's not specific to 2007. Did you check the macro security options?
Maybe it's blocking the macro.


Japa
Posted 14 years ago
(closed account) says:
(smacks own forehead!)

Thank you Japa, working now.

Steve
Posted 14 years ago
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
Posted 14 years ago
(closed account) says:
doh!

Sorry Jaap.
Posted 14 years ago
ryansteele says:
Thank you for this macro. Perfect for what I needed.
Posted 14 years ago
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...
Posted 14 years ago
(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
Posted 14 years ago
(closed account) says:
dang. now I have to change my private email.
Posted 14 years ago
leah.shalom Power Poster says:
This is awesome!! thanks so much.

(does anyone know of a similar macro for apple mail?)

Thanks
Leah
Posted 14 years ago
leah.shalom Power Poster 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
Posted 14 years ago
arvid says:
This is the best post ever :) Works great! Awesome stuff, also with the modification for the due box!
Posted 14 years ago
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
Posted 14 years ago
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
Posted 14 years ago
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
Posted 14 years ago
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
Posted 13 years ago
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.
Posted 13 years ago
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.
Posted 13 years ago
Log in to post a reply.