Submitted by viking on 2022/02/20 18:20

I know that I can drag/drop an Outlook E-mail to IQ to get a link to the E-mail. However, I find it difficult to have to arrange the Outlook and IQ windows so that I am able to drag/drop each time that I want to link an E-mail.

I therefore tried to copy the E-mail and Paste Special it as hyperlink in IQ. However, I just get a "0" for the E-mail. Is it possible to copy/paste an E-mail to link it?

 

p.s. I am aware that I can drag the E-mail to IQ in the Taskbar to open it and then drop the E-mail. However, I have a lot of programs in the Taskbar and the IQ icon is often not visible when I am working in Outlook. Alt-Tab is also not convenient when a lot of Windows are open.

Comments

Sounds good.

I don't think it is possible, but can IQ get the E-mail Date, recipient E-mail address and track what Outlook folder the E-mail came from (e.g. when drag-drop)? If at all possible, I would like to create fields for these.....

I am not sure if this would help you, but I found a VBA Macro for Outlook online many years ago. I have used it get the Outlook ItemID which I pasted into Ecco (In Ecco I had to create an item and then attach this ID to the item as a "Net Location"):

Sub 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 + Item.Subject + vbCrLf
    'Details = Details + "Outlook:" + Item.EntryID + vbCrLf
    Details = "Outlook:" + Item.EntryID + vbCrLf 'Skip subject (modified by Viking)
    GetMsgDetails = Details
    
End Function

How do I ?