web-dev-qa-db-ja.com

Outlookで特定の電子メールメッセージへのリンクを作成できますか?

私は仕事でメールクライアントとしてOutlookを使用していますが、タスクや仕事を管理するためにOutlookを使用したくありません。 (代わりにプレーンテキストファイルとEmacsのorg-modeを使用します。)多くのToDoアイテムは受信トレイのメールから始まるため、これらのメールを参照する必要があることがよくあります。

クリックするとOutlookで特定のメールを開くリンク(URL)を作成するための巧妙な方法はありますか?

71
Christian Berg

Outlookの少しのコードとEmacsの少しのコードでこれを行うことができます。

まず、Outlook 2007を使用している場合は、レジストリを追加してOutlook URLを有効にする必要があります。手順とレジストリファイルは、次の場所にあります here David Tanの好意による。

次に、このマクロをOutlookに追加して、現在の電子メールメッセージのGUID=を取得し、組織モードリンクを作成して、クリップボードに保存します。

'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

koushik コメントに記載されているように、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で電子メールへのリンクをすばやく作成できます。

文書ストア間でメッセージを移動するとGUIDが変更されるので、Exchangeサーバー上にあるメッセージにGUIDが表示され、ローカルのPSTファイルに移動すると、リンクによってGUIDを取得する前にメッセージを移動します。

34
user25995

私は簡単なvbscript( download )を書くことでこれを解決しました:

Set Outlook = CreateObject("Outlook.Application")
Set SelectedItem = Outlook.ActiveExplorer.Selection.Item(1)
Set Shell = CreateObject("Shell.Application")
Shell.ShellExecute "cmd", "/c echo Outlook:" & SelectedItem.entryID & " | clip", "", "runas", 1

Outlookで現在選択している要素(メール、カレンダーエントリなど)のリンクをクリップボードにコピーします。

Outlook:176CZREX7A79L9TG1T0AJ6HQ8DEBLTFS60HUQYKT2IXBBZ9ZZVA73MNRYVRWRL4RY0VCPQE1IB5GAWY0D8OSMOB4IFDV5OMG9NX2BBKGFA3IWSD62UCNVK0HD9GA80BIDZSBCZL7INCT

リダイレクションサービスを使用して、HTTPリンクを取得することもできます(どこかに貼り付けてもOutlook:リンクはおそらく自動的に検出されないため、HTTPリンクは検出されます)( download )。最後の行を次で置き換えます:

Shell.ShellExecute "cmd", "/c echo https://api.fnkr.net/goto/jsclient/raw/?closeAfter=500#Outlook:" & SelectedItem.entryID & " | clip", "", "runas", 1

最初にOutlook:リンクを機能させる必要があることに注意してください。
http://www.slipstick.com/problems/Outlook-missing-Outlook-protocol/ (「Do It For Me」までスクロールします)

Outlook 2010でテスト済み。

6
fnkr

リンカーアプレットに出くわしました。試してみます。同様にしたいかもしれません http://www.teamscope.com/otherpro/utilities.asp#linker

これがマーケティングのドルビーです。

Linker™forWindows®は、Outlookのアイテムとフォルダー、およびWindowsエクスプローラーのファイルとフォルダーへのハイパーリンクを作成します。これは、ハイパーリンクをWindowsクリップボードに配置するシステムトレイアプレットです。ハイパーリンクは、Microsoft Officeドキュメント、Webページ、電子メールメッセージ、またはハイパーリンクをサポートするドキュメントに貼り付けることができます。

日当たりの良い南アフリカからのご挨拶!

3

特定のメールを参照するかどうかはわかりませんが、システムによっては、ToDoアイテムと同じ場所にメールをコピーできる場合があります。メールをフォルダまたはデスクトップにドラッグアンドドロップするだけで、メールのコピーが作成され、通常のファイルとして扱うことができます。

.docまたは.txtよりも多くの「高度な」ファイルを使用する場合は、このOutlookメッセージファイルにリンクできます。

1
Paxxi

Outlookアイテムのコンテンツをシステムのクリップボードにコピーしてから、それを組織モードのメモに入れます。

http://www.emacswiki.org/emacs/PlannerModeContrib#toc1

1
Raymond Zeitler

Outlookの電子メールをOneNote(黄色の文字アイコンとして表示されます)にコピーし、右クリックして[段落へのリンク]を選択し、リンクを使用できる別のドキュメントにリンクを貼り付けます。

しかし、とにかく、マイクロソフトは、電子メールへのリンクというこの全体を標準機能にすべきでした。これはLotus Notesの非常に便利な機能でした。

0
Umiboshi

おそらくあなたの要件はミンチとは異なります。

Outlook 2013>メッセージタブ(通常のビュー)> [アクション]ボタン>ブラウザーで表示

次に、ブラウザからそのリンクを取得します。

お役に立てば幸い

0
Frank

ある種のカスタムコードなしではありません。 Outlook URIを使用すると、Outlook内のフォルダーに移動できますが、それはそれだけです。より詳細にするには、リンク戦略に合わせた賢いファイリング戦略を考え出す必要があります。

0
squillman

上記の 受け入れられた回答 にコメントを記入するための十分な評判クレジットはありませんが、@ user25995によって提供された優れた回答への修正のために相互参照を入れたかったのです。 (emacs)StackExchange に投稿されました。

そこで投稿した質問に対して受け取ったコメントに基づいて、(非推奨)org-add-link-typeの使用をorg-link-set-parametersに変更し、export:関数を含めて、HTMLエクスポートバックエンドが正しくフォーマットされた<a href="Outlook:...">リンクタイプ。

0
kwoodham

私は Wunderlist を使用してタスクを管理し、 Outlook用のWunderlistアドイン を使用して電子メールメッセージから直接新しいタスクを作成でき、Wunderlistは自動的にリンクを作成します元のメッセージへのタスクノート。覚えておくべきいくつかのこと:

  1. 私が常にメッセージを最初にフォルダに移動するのは、(前回チェックしたとき)後でメッセージを別のフォルダに移動するとURLが壊れるためです。
  2. Outlookデスクトップ用のアドインがありますが、リンクが含まれていないようです。そのため、タスクを作成するときにOutlook on the Webを使用します。
  3. 私は、企業のメールアカウントを使用してOffice 365のOutlook on the Webでのみこれを試しました。私はそれがコンシューマーOffice 365アカウントで同様にうまく機能すると思いますが、それを試していません。
  4. Wunderlistを使用しない場合でも、サインアップして、必要なときにURLを生成するために使用できます。

私はOutlookとWunderlistのどちらのチームとも関わりはありませんが、私はマイクロソフトのために働いています。

0
AJSkew