職場でメールクライアントとしてOutlookを使用していますが、タスクやToDoの管理にOutlookを使用したくありません。(代わりに、プレーンテキストファイルとEmacs org-modeを使用します。)多くのtodoアイテムは受信トレイのメールとして開始されるため、これらのメールを参照する必要があることがよくあります。
クリックしたときにOutlookで特定の電子メールを開くリンク(URL)を作成する賢い方法はありますか?
これは、Outlookの少しのコードとEmacsの少しのコードで実行できます。
まず、Outlook 2007を使用している場合は、レジストリを追加してOutlookURLを有効にする必要があります。手順とレジストリファイルは、DavidTanの好意でここにあります。
次に、このマクロをOutlookに追加して、現在の電子メールメッセージのGUIDを取得し、Org-Modeリンクを作成して、クリップボードに保存します。
'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
コウシクはコメントで述べ、doClipboard.SetText
一部は異なるアイテムタイプを区別するために拡張することができます。
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
ほぼそこに、この少しのlispをemacs lispディレクトリに追加して、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
最後に、.emacsファイルを更新してOutlookのリンクコードを含めます。org-modeがセットアップされた後、これをどこかに追加するだけです。
(require 'org-outlook)
これで、マクロを呼び出すことができ(Outlookのツールバーにすばやくアクセスできるように追加しました)、Emacsで電子メールへのリンクをすばやく作成できます。
1つの落とし穴、ドキュメントストア間でメッセージを移動するとGUIDが変更されるため、Exchangeサーバー上にあるメッセージへのGUIDを取得してから、ローカルPSTファイルに移動するとリンクが変更されます。GUIDを取得する前にメッセージを移動してください。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加