Możesz to zrobić z odrobiną kodu w Outlooku i odrobiną kodu w Emacsie.
Po pierwsze, jeśli korzystasz z programu Outlook 2007, musisz włączyć adresy URL programu Outlook z dodatkiem rejestru. Instrukcje i plik rejestru można znaleźć tutaj dzięki uprzejmości Davida Tan.
Następnie to makro można dodać do programu Outlook i pobierze identyfikator GUID bieżącej wiadomości e-mail, utworzy łącze w trybie organizacji i umieści je w schowku.
'Adds a link to the currently selected message to the clipboard
Sub AddLinkToMessageInClipboard()
Dim objMail As Outlook.MailItem
Dim doClipboard As New DataObject
'One and ONLY one message muse be selected
If Application.ActiveExplorer.Selection.Count <> 1 Then
MsgBox ("Select one and ONLY one message.")
Exit Sub
End If
Set objMail = Application.ActiveExplorer.Selection.Item(1)
doClipboard.SetText "[[outlook:" + objMail.EntryID + "][MESSAGE: " + objMail.Subject + " (" + objMail.SenderName + ")]]"
doClipboard.PutInClipboard
End Sub
Już prawie dodaj tę odrobinę lisp do katalogu emacs lisp, aby włączyć łącza do programu Outlook.
;;; org-outlook.el - Support for links to Outlook items in Org
(require 'org)
(org-add-link-type "outlook" 'org-outlook-open)
(defun org-outlook-open (id)
"Open the Outlook item identified by ID. ID should be an Outlook GUID."
(w32-shell-execute "open" (concat "outlook:" id)))
(provide 'org-outlook)
;;; org-outlook.el ends here
Na koniec zaktualizuj plik .emacs, aby zawierał kod łącza programu Outlook. Po prostu dodaj to gdzieś po skonfigurowaniu trybu org.
(require 'org-outlook)
Teraz możesz wywołać makro (dodałem je do paska narzędzi w programie Outlook, aby uzyskać szybki dostęp) i możesz szybko utworzyć łącze do wiadomości e-mail w programie Emacs.
Jeden problem, zmiana GUID, gdy przenosisz wiadomość między magazynami dokumentów, więc jeśli dostaniesz GUID do wiadomości, gdy jest ona na serwerze Exchange, a następnie przeniesiesz ją do lokalnego pliku PST, link się zmieni. Przenieś wiadomość, zanim pojawi się identyfikator GUID.