60

Я использую Outlook в качестве почтового клиента на работе, но я не хочу использовать его для управления своими задачами и задачами. (Вместо этого я использую обычные текстовые файлы и Emacs org-mode.) Поскольку многие элементы todo начинаются с писем в моем почтовом ящике, мне часто приходится ссылаться на эти письма.

Есть ли какой-нибудь умный способ создать ссылку (URL), которая открывает конкретное письмо в Outlook при нажатии?

10 ответов10

29

Вы можете сделать это с небольшим количеством кода в Outlook и небольшим количеством кода в Emacs.

Во-первых, если вы используете Outlook 2007, вам нужно включить URL-адреса Outlook с добавлением реестра. Инструкции и файл реестра можно найти здесь благодаря любезности Дэвида Тана.

Затем этот макрос можно добавить в Outlook и получить GUID текущего сообщения электронной почты, создать ссылку в режиме Org и поместить ее в буфер обмена.

'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

Почти там, добавьте этот маленький список в каталог 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 при перемещении сообщения между хранилищами документов, поэтому, если вы получите GUID для сообщения, пока оно находится на вашем сервере Exchange, а затем переместите его в локальный файл PST, ссылка изменится. Переместите сообщение, прежде чем вы получите GUID.

5

Я решил это, написав простой vbscript (скачать):

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 есть) (загрузка), просто замените последнюю строку на:

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/ (прокрутите вниз до "Сделай это для меня")

Протестировано с Outlook 2010.

3

наткнулся на Linker applet.going, чтобы попробовать это .. вы можете также хотеть http://www.teamscope.com/otherpro/utilities.asp#linker

Вот маркетинговая капелька ..

Linker ™ для Windows® создает гиперссылки на элементы и папки в Outlook, а также на файлы и папки в проводнике Windows. Это апплет в системном трее помещает гиперссылку в буфер обмена Windows. Затем гиперссылка может быть вставлена в любой документ Microsoft Office, веб-страницу, сообщение электронной почты или любой документ, который поддерживает гиперссылки.

Привет из солнечной Южной Африки!

1

Не без какого-то специального кода. URI Outlook может привести вас к папке, содержащейся в Outlook, но это все. Вам нужно будет придумать умную стратегию подачи, которая бы соответствовала вашей стратегии связывания, чтобы получить более детальную информацию.

1

Я не уверен относительно ссылки на конкретное электронное письмо, но в зависимости от вашей системы вы можете скопировать электронное письмо в то же место, что и элемент todo. Просто перетащите письмо в папку или на рабочий стол, и оно создаст копию письма, которое вы можете рассматривать как обычный файл.

Если вы будете использовать .doc или более "продвинутые" файлы, чем .txt, вы можете ссылаться на этот файл сообщений Outlook.

1

Я предпочитаю копировать содержимое элемента Outlook в системный буфер обмена, а затем вставлять его в заметку в режиме Org.

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

0

Вы можете скопировать электронную почту Outlook в OneNote (появляется в виде желтой буквы), затем щелкнуть правой кнопкой мыши и выбрать «ссылка на абзац», а затем вставить ссылку в другой документ, который может работать со ссылками.

Но, в любом случае, Microsoft должна была сделать все, что связано с электронной почтой, стандартной функцией. Это была такая полезная функция Lotus Notes.

0

Возможно, ваше требование отличается от моего.

Outook 2013> Вкладка «Сообщение» (обычный вид)> Кнопка «Действия»> Просмотр в браузере

Затем я получаю эту ссылку из браузера.

Надеюсь, что помощь

0

У меня недостаточно репутационных кредитов, чтобы добавить комментарий к принятому ответу выше, но я хотел добавить перекрестную ссылку для исправления превосходного ответа, предоставленного @ user25995 - который я разместил на (emacs) StackExchange.

На основании комментария, который я получил к вопросу, который я там разместил, я изменил использование (устарело) org-add-link-type на org-link-set-parameters и включил функцию export: так, чтобы бэкенд экспорта HTML дал мне правильно отформатированный <a href="outlook:..."> тип ссылки.

0

Я использовал Wunderlist для управления своими задачами и обнаружил, что с помощью надстройки Wunderlist для Outlook я могу создавать новые задачи непосредственно из сообщения электронной почты, а Wunderlist автоматически создает ссылку в примечаниях к исходному сообщению. Несколько вещей, которые нужно иметь в виду:

  1. Сначала я всегда перемещаю сообщение в папку, потому что (последний раз, когда я проверял) URL-адрес разрывается, если вы позже переместите сообщение в другую папку.
  2. Несмотря на то, что есть надстройка для рабочего стола Outlook, она не включает ссылку, поэтому я использую Outlook в Интернете, когда хочу создать задачу.
  3. Я пробовал это только с Outlook в Интернете для Office 365, используя корпоративную учетную запись электронной почты. Я предполагаю, что он одинаково хорошо работает с учетными записями Office 365, но еще не пробовал.
  4. Даже если вы не используете Wunderlist, вы можете зарегистрироваться и использовать его для создания URL-адреса, когда вам это нужно.

И только для разглашения, я работаю на Microsoft, хотя я не связан ни с командами Outlook, ни с Wunderlist.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .