Anda dapat melakukan ini dengan sedikit kode di Outlook dan sedikit kode di Emacs.
Pertama, jika Anda menggunakan Outlook 2007 Anda harus mengaktifkan URL Outlook dengan tambahan registri. Instruksi dan file registrasi dapat ditemukan di sini milik David Tan.
Selanjutnya, makro ini dapat ditambahkan ke Outlook dan akan mendapatkan GUID dari pesan email saat ini, membuat tautan Mode-Org dan menyimpannya ke clipboard.
'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
Seperti yang koushik catat dalam komentar, doClipboard.SetText
bagian tersebut dapat diperluas untuk membedakan antara berbagai jenis barang:
If objMail.Class = olMail Then
doClipboard.SetText "[[outlook:" + objMail.EntryID + "][MESSAGE: " + objMail.Subject + " (" + objMail.SenderName + ")]]"
ElseIf objMail.Class = olAppointment Then
doClipboard.SetText "[[outlook:" + objMail.EntryID + "][MEETING: " + objMail.Subject + " (" + objMail.Organizer + ")]]"
ElseIf objMail.Class = olTask Then
doClipboard.SetText "[[outlook:" + objMail.EntryID + "][TASK: " + objMail.Subject + " (" + objMail.Owner + ")]]"
ElseIf objMail.Class = olContact Then
doClipboard.SetText "[[outlook:" + objMail.EntryID + "][CONTACT: " + objMail.Subject + " (" + objMail.FullName + ")]]"
ElseIf objMail.Class = olJournal Then
doClipboard.SetText "[[outlook:" + objMail.EntryID + "][JOURNAL: " + objMail.Subject + " (" + objMail.Type + ")]]"
ElseIf objMail.Class = olNote Then
doClipboard.SetText "[[outlook:" + objMail.EntryID + "][NOTE: " + objMail.Subject + " (" + " " + ")]]"
Else
doClipboard.SetText "[[outlook:" + objMail.EntryID + "][ITEM: " + objMail.Subject + " (" + objMail.MessageClass + ")]]"
End If
Hampir di sana, tambahkan sedikit lisp ini ke direktori emacs lisp Anda untuk mengaktifkan tautan 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
Dan terakhir, perbarui file .emacs Anda untuk memasukkan kode tautan Outlook. Cukup tambahkan ini di suatu tempat setelah mode-org diatur.
(require 'org-outlook)
Sekarang Anda bisa memanggil makro (saya menambahkannya ke toolbar saya di Outlook untuk akses cepat) dan Anda dapat dengan cepat membuat tautan ke email di Emacs.
Sekali saja, GUID berubah ketika Anda memindahkan pesan di antara penyimpanan dokumen, jadi jika Anda mendapatkan GUID ke pesan saat ada di server Exchange Anda dan kemudian pindahkan ke file PST lokal Anda, tautan akan berubah. Pindahkan pesan sebelum Anda mendapatkan GUID.