If you use Outlook, you can use the following macro to put a hypertext
link into your MLO tasks.  If you use Outlook with Zimbra (as opposed
to Exchange), it'll keep the same OID, even if you move the message or
delete it.  Tres helpful:

Rem
Rem Stolen from 
http://mutable.net/blog/archive/2006/09/02/how_to_hyperlink_to_microsoft_outlook_messages.aspx
Rem

Sub pet_CopyItemIDs()
    Dim myOLApp As Application
    Dim myNameSpace As NameSpace
    Dim currentMessage As MailItem
    Dim ClipBoard As String
    Dim DataO As DataObject

    ' Housekeeping: set up the macro environment
    Set myOLApp = CreateObject("Outlook.Application")
    Set myNameSpace = myOLApp.GetNamespace("MAPI")

    ' Figure out if the active window is a list of messages or one
message
    ' in its own window
    ' On Error GoTo QuitIfError    ' But if there's a problem, skip it
    Select Case myOLApp.ActiveWindow.Class
        ' The active window is a list of messages (folder); this means
there
        ' might be several selected messages
        Case olExplorer
            ' build the clipboard string
            For Each currentMessage In
myOLApp.ActiveExplorer.Selection
                ClipBoard = GetMsgDetails(currentMessage, ClipBoard)
            Next

        ' The active window is a message window, meaning there will
only
        ' be one selected message (the one in this window)
        Case olInspector
            ' build the clipboard string
            ClipBoard = GetMsgDetails
(myOLApp.ActiveInspector.CurrentItem, _
                                         ClipBoard)
        ' can't handle any other kind of window; anything else will be
ignored
    End Select

QuitIfError:       ' Come here if there was some kind of problem
    Set myOLApp = Nothing
    Set myNameSpace = Nothing
    Set currentMessage = Nothing

    Set DataO = New DataObject
    DataO.Clear
    DataO.SetText ClipBoard
    DataO.PutInClipboard

    Set DataO = Nothing

End Sub

Function GetMsgDetails(Item As MailItem, Details As String) As String

    If Details <> "" Then
        Details = Details + vbCrLf
    End If
    Details = Details + "Date: " + CStr(Item.SentOn) + vbCrLf
    Details = Details + "Subject: " + Item.Subject + vbCrLf
    Details = Details + "Sent by: " + Item.SenderName + vbCrLf
    Details = Details + "To: " + Item.To + vbCrLf
    Details = Details + "Outlook:" + Item.EntryID + vbCrLf + vbCrLf

    GetMsgDetails = Details

End Function

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"MyLifeOrganized" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/mylifeorganized?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to