Kann ich in Outlook einen Link zu einer bestimmten E-Mail-Nachricht erstellen?

67424
Christian Berg

Ich benutze Outlook als E-Mail-Client bei der Arbeit, aber ich möchte damit nicht meine Aufgaben und Aufgaben verwalten. (Stattdessen verwende ich Klartextdateien und den Emacs-Org-Modus.) Da viele Aufgaben in meinem Posteingang als E-Mails beginnen, muss ich oft auf diese E-Mails verweisen.

Gibt es eine clevere Möglichkeit, einen Link (eine URL) zu erstellen, durch den beim Klicken eine bestimmte E-Mail in Outlook geöffnet wird?

58
Würde bitte jemand mit ausreichendem Ruf diese Frage wiederholen? Wir sprechen über (TAG =>) "org-mode". Keks Dose vor 12 Jahren 0

10 Antworten auf die Frage

29

Sie können dies mit etwas Code in Outlook und etwas Code in Emacs tun.

Wenn Sie Outlook 2007 verwenden, müssen Sie zunächst Outlook-URLs mit einem Registrierungszusatz aktivieren. Anweisungen und die Registrierungsdatei finden Sie hier mit freundlicher Genehmigung von David Tan.

Als Nächstes kann dieses Makro zu Outlook hinzugefügt werden. Es wird die GUID der aktuellen E-Mail-Nachricht abgerufen, ein Org-Mode-Link erstellt und in der Zwischenablage abgelegt.

'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 

Fast dort, fügen Sie dieses kleine bisschen lisp Ihrem emacs lisp-Verzeichnis hinzu, um Outlook-Links zu aktivieren.

;;; 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 

Aktualisieren Sie schließlich Ihre .emacs-Datei, um den Outlook-Link-Code einzuschließen. Fügen Sie dies einfach irgendwo hinzu, nachdem der Org-Modus eingerichtet wurde.

(require 'org-outlook) 

Jetzt können Sie das Makro aufrufen (ich habe es in Outlook in meine Symbolleiste aufgenommen, um schnell darauf zugreifen zu können), und Sie können schnell eine Verknüpfung zu der E-Mail in Emacs erstellen.

Die GUID ändert sich, wenn Sie eine Nachricht zwischen Dokumentenspeichern verschieben. Wenn Sie also die GUID der Nachricht auf Ihrem Exchange-Server erhalten und sie dann in Ihre lokale PST-Datei verschieben, ändert sich die Verknüpfung. Verschieben Sie die Nachricht, bevor Sie die GUID erhalten.

Das ist großartig, danke! Eine Vereinfachung: Ich habe mich nicht mit der Registry herumgespielt, um Outlook-URLs zu aktivieren. Stattdessen habe ich den Aufruf für die Ausführung von w32-shell folgendermaßen geändert: (w32-shell-execute "open" " OUTLOOK.EXE "(concat" / "outlook:" id auswählen) Christian Berg vor 14 Jahren 3
Danke für diese Antwort. Ich fand heraus, dass ich ein leeres Formular erstellen musste, um Kompilierungsfehler in undefined DataObject zu vermeiden. Laurent' vor 12 Jahren 1
@ChristianBerg: Ich verwende Outlook 2003, also kann ich vielleicht Hyperlinks haben, ohne sich um die Registrierung zu kümmern, aber Ihre Vereinfachung funktionierte nicht, Outlook konnte die URL nicht finden. Und jedes Mal, wenn ich in Emacs auf einen Link geklickt habe, wurde ein neuer Outlook-Prozess gestartet. Also habe ich mich an die tolle Lösung von user259 gehalten ... Keks Dose vor 12 Jahren 0
Das ist fantastisch ! Vielen Dank, dass Sie diese Lösung bereitgestellt haben. Ich habe es mit Outlook 2007 mit dem Registry-Tweak ausprobiert und es funktionierte wie ein Zauber! Ich habe 1 Problem gefunden, wenn ich das Makro ausgeführt habe, als eine Einladung / ein Termin für ein Meeting ausgewählt wurde. Der Code hat eine Ausnahme ausgelöst. Da ich es nur im Posteingang verwende, löste ich dieses Problem durch Dim objMail als Object anstelle von MailItem. Dies ist jedoch möglicherweise nicht die richtige Lösung, da der Code immer noch fehlschlagen kann, wenn das ausgewählte Element keine Subject / SenderName-Mitglieder enthält. Der Code könnte möglicherweise prüfen, ob das ausgewählte Element den richtigen Typ hat, und eine MsgBox bereitstellen, falls dies nicht der Fall ist. koushik vor 12 Jahren 0
Ich "kratzte diesen Juckreiz" etwas mehr von mir, als ich Links zu einigen Terminen für die Arbeit an verwandten Elementen aufzeichnen musste (damit ich mich auf Informationen / Anhänge beziehen kann oder alle antworten kann, wenn ich Updates habe usw.). Jetzt können E-Mails, Kalenderelemente, Kontakte, Notizen und Journaleinträge exportiert werden, und es wird zumindest nicht fehlgeschlagen, wenn andere Einträge aufgerufen werden. Der geänderte Code steht unter http://pastebin.com/gNWLVNRk zur Verfügung (ich kann einen Unterschied angeben, wenn er helfen würde - obwohl ich nicht weiß, wie man in VBA vorgeht). Ich musste keine andere Änderung vornehmen (Emacs-Seite oder Registrierung), damit dies an meinem Ende funktioniert. HTH. koushik vor 12 Jahren 1
@koushik: Danke für dein tolles Skript. Wo kommst du an diesen Links vorbei? Die Syntax [[url] [description]] wird von Outlook nicht erkannt ... Simon vor 11 Jahren 0
Ich habe einen unbekannten Typfehler für DataObject erhalten. Nach dem Ausprobieren verschiedener Optionen, z. B. [Verweis auf Microsoft Forms hinzufügen] (https://blog.jonschneider.com/2009/12/fix-excel-vba-user-defined-type-not.html), das nicht verfügbar war Hinzufügen und andere stieß ich auf https://www.excelforum.com/excel-programming-vba-macros/338020-dataobject-and-cliboard.html und fügte ein Dummy-Benutzerformular hinzu, und es begann zu funktionieren Miserable Variable vor 5 Jahren 0
5
fnkr

Ich habe dieses Problem gelöst, indem ich ein einfaches VBScript ( Download ) geschrieben habe:

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 

Es kopiert einen Link des Elements (E-Mail, Kalendereintrag, ...), das Sie aktuell in Outlook ausgewählt haben, in Ihre Zwischenablage:

Outlook:176CZREX7A79L9TG1T0AJ6HQ8DEBLTFS60HUQYKT2IXBBZ9ZZVA73MNRYVRWRL4RY0VCPQE1IB5GAWY0D8OSMOB4IFDV5OMG9NX2BBKGFA3IWSD62UCNVK0HD9GA80BIDZSBCZL7INCT 

Sie können sogar einen Umleitungsdienst verwenden, um einen HTTP-Link zu erhalten (da Outlook:Hyperlinks wahrscheinlich nicht automatisch erkannt werden, wenn Sie irgendwo einfügen, aber HTTP-Links sind) ( Download ), ersetzen Sie einfach die letzte Zeile durch:

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

Beachten Sie, dass Sie Outlook:zuerst Links einrichten müssen.
http://www.slipstick.com/problems/outlook-missing-outlook-protocol/ (scrollen Sie nach unten zu "Do It For Me")

Getestet mit Outlook 2010.

3

stieß auf Linker applet.going um es auszuprobieren ... Sie möchten vielleicht auch http://www.teamscope.com/otherpro/utilities.asp#linker

Hier ist das Marketing drible ..

Linker ™ für Windows® erstellt Hyperlinks zu Elementen und Ordnern in Outlook sowie zu Dateien und Ordnern in Windows Explorer. Es ist ein Systemtray-Applet, das den Hyperlink in der Windows-Zwischenablage platziert. Der Hyperlink kann dann in ein beliebiges Microsoft Office-Dokument, eine Webseite, eine E-Mail-Nachricht oder ein Dokument eingefügt werden, das Hyperlinks unterstützt.

Grüße aus dem sonnigen Südafrika!

Linker funktioniert manchmal, manchmal nicht so sehr. In Win 7 + Outlook 2010 ist es insgesamt ziemlich fehlerhaft Andy vor 10 Jahren 0
Wenn Sie Office Pro Plus 2016 + Win 10 Pro verwenden, funktionierte es nicht. Es bricht ab, wenn auf die kopierten Links zugegriffen wird - wenn Sie auf \\ klicken\ Drafts \ ~ test, die unbekannte App wird von win 10 aufgenommen und bricht ab. Nasri Najib vor 6 Jahren 0
1
squillman

Nicht ohne einen benutzerdefinierten Code. Die Outlook-URIs können Sie zu dem übergeordneten Ordner in Outlook führen, aber das war es auch schon. Sie müssten eine clevere Ablagestrategie entwickeln, die an Ihre Verknüpfungsstrategie angepasst ist, um noch detaillierter zu werden.

1
Paxxi

Ich bin mir nicht sicher, ob ich auf eine bestimmte E-Mail verweisen möchte, aber abhängig von Ihrem System können Sie die E-Mail möglicherweise an den gleichen Ort wie das ToDo-Element kopieren. Ziehen Sie die E-Mail einfach in einen Ordner oder auf den Desktop und erstellen Sie eine Kopie der E-Mail, die Sie als normale Datei behandeln können.

Wenn Sie DOC-Dateien oder mehr "erweiterte" Dateien als TXT-Dateien verwenden, können Sie eine Verknüpfung zu dieser Outlook-Nachrichtendatei herstellen.

Ich werde mit dieser Lösung gehen. Hier ist mein neuer Workflow: Ziehen Sie die Mail in einen temporären Ordner. Erstellen Sie das Aufgabenobjekt im Organisationsmodus. Fügen Sie die Nachrichtendatei als Anhang zum Element hinzu: Cc Ca m (Die Nachrichtendatei wird in den Ordner "Anlagen" verschoben). Später kann ich die Nachricht von der Aufgabe aus aufrufen, indem Sie Cc Ca o drücken. Christian Berg vor 14 Jahren 1
1
Raymond Zeitler

I prefer to copy the Outlook Item content to the system clipboard and then yank it into an Org-mode note.

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

0
Frank

Wahrscheinlich ist Ihre Anforderung bei mir anders.

Outook 2013> Registerkarte "Nachricht" (normale Ansicht)> Schaltfläche "Aktionen"> In Browser anzeigen

Dann bekomme ich diesen Link vom Browser.

Hoffe das hilft

Dies schien vielversprechend zu sein, aber in `Outlook 2013` wurde für mich eine` .mht`-Datei in `AppData \ Local \ Microsoft \ Windows \ Temporary Internet Files \ Content.Outlook \` erstellt und in IE mit einer 'mhtml: file: // .. `url also nein. Miserable Variable vor 9 Jahren 2
0
Umiboshi

Sie können eine Outlook-E-Mail nach OneNote kopieren (wird als gelbes Briefsymbol angezeigt), klicken Sie dann mit der rechten Maustaste, wählen Sie "Verknüpfung zu Absatz" und fügen Sie die Verknüpfung in ein anderes Dokument ein, das mit Verknüpfungen arbeiten kann.

Trotzdem hätte Microsoft die Verknüpfung mit einer E-Mail zur Standardfunktion machen sollen. Dies war eine nützliche Funktion von Lotus Notes.

0
AJSkew

Ich verwende Wunderlist zum Verwalten meiner Aufgaben. Ich habe festgestellt, dass ich mit dem Wunderlist-Add-In für Outlook neue Aufgaben direkt aus einer E-Mail-Nachricht erstellen kann. Wunderlist erstellt automatisch einen Link in den Aufgabennotizen zur ursprünglichen Nachricht. Ein paar Dinge zu beachten:

  1. Ich verschiebe die Nachricht immer zuerst in einen Ordner, da (beim letzten Mal überprüft) die URL unterbrochen wird, wenn Sie die Nachricht später in einen anderen Ordner verschieben.
  2. Obwohl es ein Add-In für den Outlook-Desktop gibt, scheint es den Link nicht zu enthalten. Daher verwende ich Outlook im Web, wenn ich eine Aufgabe erstellen möchte.
  3. Ich habe dies nur mit Outlook im Web für Office 365 mit einem Unternehmens-E-Mail-Konto versucht. Ich gehe davon aus, dass es mit Office 365-Konten für Privatanwender gleichermaßen gut funktioniert, aber nicht ausprobiert hat.
  4. Selbst wenn Sie Wunderlist nicht verwenden, können Sie sich anmelden und die URL bei Bedarf generieren.

Ich arbeite nur für die Offenlegung für Microsoft, obwohl ich weder mit dem Outlook- noch mit dem Wunderlist-Team verbunden bin.

Bitte lesen Sie die Frage noch einmal sorgfältig. Ihre Antwort beantwortet die ursprüngliche Frage nicht **. OP verwendet "emacs". DavidPostill vor 8 Jahren 1
@ DavidPostill Respektvoll dachte ich, ich hätte es getan. Aus diesem Grund habe ich # 4 hinzugefügt, um eine URL zu einer Nachricht zu erhalten, die dann überall gespeichert werden kann, auch in einer Textdatei. AJSkew vor 8 Jahren 0
0
kwoodham

I don't have sufficient reputation credits to put in a comment to the accepted answer above, but I wanted to put a cross-reference in for a revision to the excellent answer provided by @user25995 - which I posted at (emacs) StackExchange.

Based on a comment I received to a question I posted there, I changed the use of (deprecated) org-add-link-type to org-link-set-parameters and included an export: function so that the HTML export backend gave me a properly formatted <a href="outlook:..."> link type.

Der Kommentar sollte nicht als Antwort eingereicht werden, da Sie nicht in der Lage sind, einen tatsächlichen Kommentar abzugeben. Ramhound vor 7 Jahren 0
@Ramhound - Ich habe mich bemüht, auf die akzeptierte Antwort hinzuweisen, selbst wenn ich einen Link zur Verfügung stellte und den Autor bestätigte. Ich habe dann eine kleine Überarbeitung angeboten, die die Verwendung einer Funktion vermeidet, die jetzt veraltet ist. Ich hatte nicht vor, hier gegen das Protokoll zu verstoßen. Gibt es eine korrekte Möglichkeit, dies zu kommunizieren, wenn ich nicht genügend Brownie-Punkte habe, um die akzeptierte Antwort zu kommentieren? kwoodham vor 7 Jahren 0