Czy mogę utworzyć link do określonej wiadomości e-mail w programie Outlook?


63

Używam programu Outlook jako mojego klienta poczty e-mail w pracy, ale nie chcę go używać do zarządzania zadaniami i czynnościami do wykonania. (Zamiast tego używam zwykłych plików tekstowych i trybu org Emacsa.) Ponieważ wiele rzeczy do zrobienia zaczyna się jako e-maile w mojej skrzynce odbiorczej, często muszę odwoływać się do tych wiadomości.

Czy istnieje jakiś sprytny sposób, aby utworzyć link (adres URL), który otwiera określony e-mail w programie Outlook po kliknięciu?


Czy ktoś o wystarczającej reputacji mógłby ponownie oznaczyć to pytanie? Mówimy o (TAG =>) „org-mode”.
Keks Dose

Odpowiedzi:


32

Możesz to zrobić z odrobiną kodu w Outlooku i odrobiną kodu w Emacsie.

Po pierwsze, jeśli korzystasz z programu Outlook 2007, musisz włączyć adresy URL programu Outlook z dodatkiem rejestru. Instrukcje i plik rejestru można znaleźć tutaj dzięki uprzejmości Davida Tan.

Następnie to makro można dodać do programu Outlook i pobierze identyfikator GUID bieżącej wiadomości e-mail, utworzy łącze w trybie organizacji i umieści je w schowku.

'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

Już prawie dodaj tę odrobinę lisp do katalogu emacs lisp, aby włączyć łącza do programu 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

Na koniec zaktualizuj plik .emacs, aby zawierał kod łącza programu Outlook. Po prostu dodaj to gdzieś po skonfigurowaniu trybu org.

(require 'org-outlook)

Teraz możesz wywołać makro (dodałem je do paska narzędzi w programie Outlook, aby uzyskać szybki dostęp) i możesz szybko utworzyć łącze do wiadomości e-mail w programie Emacs.

Jeden problem, zmiana GUID, gdy przenosisz wiadomość między magazynami dokumentów, więc jeśli dostaniesz GUID do wiadomości, gdy jest ona na serwerze Exchange, a następnie przeniesiesz ją do lokalnego pliku PST, link się zmieni. Przenieś wiadomość, zanim pojawi się identyfikator GUID.


4
To wspaniale, dziękuję! Jedno uproszczenie: nie zadzwoniłem do rejestru, aby włączyć adresy URL programu Outlook, zamiast tego po prostu zmieniłem wywołanie powłoki w32 na polecenie: (w32-shell-execute „open” ”C: / Program / Microsoft Office / Office12 / OUTLOOK.EXE "(concat" / select "" outlook: "id)
Christian Berg

1
Dziękuję za tę odpowiedź. Dowiedziałem się, że muszę nieco utworzyć pusty formularz, aby uniknąć błędu kompilacji na niezdefiniowanym obiekcie DataObject.
Laurent „

@ChristianBerg: Używam programu Outlook 2003, więc może mogę mieć hiperłącza bez kłopotania się rejestrem, ale uproszczenie nie zadziałało, program Outlook nie mógł znaleźć adresu URL. I za każdym razem, gdy kliknąłem link w Emacsie, uruchamiany był nowy proces prognozowania. Trzymałem się więc świetnego rozwiązania od user259 ...
Keks Dose

1
„Drapałam ten swój świąd” trochę bardziej, ponieważ musiałem nagrywać linki do niektórych spotkań w celu pracy nad powiązanymi elementami (więc mogę odsyłać do nich informacje / załączniki lub odpowiadać wszystkim, gdy mam aktualizacje itp.). Teraz może eksportować wiadomości e-mail, elementy kalendarza, kontakty, notatki, wpisy do dziennika i przynajmniej nie zawiedzie, gdy zostanie wywołane dla innych wpisów. Zmodyfikowany kod znajduje się na pastebin.com/gNWLVNRk (mogę podać diff, jeśli to by pomogło - chociaż nie wiem, jak zrobić to w VBA). Nie musiałem dokonywać żadnych innych zmian (po stronie emacsa lub regsitry), aby działało to po mojej stronie. HTH.
koushik

1
Aby rozwiązać błąd typu DataObject, następujące działania działały dla mnie. W edytorze makr przejdź do Narzędzia-> Referencje. Kliknij Przeglądaj, wybierz plik C:\Windows\System32\fm20.dlli naciśnij OK.
Hugo Ideler

6

Rozwiązałem to pisząc prosty vbscript ( pobierz ):

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

Kopiuje link do elementu (e-mail, pozycja kalendarza, ...) aktualnie wybranego w programie Outlook do schowka:

Outlook:176CZREX7A79L9TG1T0AJ6HQ8DEBLTFS60HUQYKT2IXBBZ9ZZVA73MNRYVRWRL4RY0VCPQE1IB5GAWY0D8OSMOB4IFDV5OMG9NX2BBKGFA3IWSD62UCNVK0HD9GA80BIDZSBCZL7INCT

Możesz nawet skorzystać z usługi przekierowania, aby uzyskać link HTTP (ponieważ Outlook:linki prawdopodobnie nie są wykrywane automatycznie, jeśli gdzieś wklejasz, ale linki HTTP są) ( pobieranie ), po prostu zamień ostatni wiersz na:

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

Pamiętaj, że najpierw musisz włączyć Outlook:linki.
http://www.slipstick.com/problems/outlook-missing-outlook-protocol/ (przewiń w dół do „Do It For Me”)

Testowane z programem Outlook 2010.


3

natknąłem się na aplet Linkera. przechodzę, aby go wypróbować. możesz także http://www.teamscope.com/otherpro/utilities.asp#linker

Oto zwrot marketingowy ..

Linker ™ dla Windows® tworzy hiperłącza do elementów i folderów w Outlooku oraz do plików i folderów w Eksploratorze Windows. Jest to aplet zasobnika systemowego umieszczający hiperłącze w schowku systemu Windows. Hiperłącze można następnie wkleić do dowolnego dokumentu Microsoft Office, strony internetowej, wiadomości e-mail lub dowolnego dokumentu obsługującego hiperłącza.

Pozdrowienia ze słonecznej Afryki Południowej!


Linker działa czasem, innym razem nie tak bardzo. Ogólnie wydaje się dość błędny w Win 7 + Outlook 2010
Andy

Korzystanie z pakietu Office Pro Plus 2016 + Win 10 Pro i nie działało. Łamie się podczas uzyskiwania dostępu do linków, które zostały skopiowane - więc po kliknięciu testu \\ <adres e-mail> \ Wersje robocze ~ ~ nieznana aplikacja jest odbierana przez Windows 10, więc pęka.
Nasri Najib

1

Nie jestem pewien, czy odsyłam do konkretnego adresu e-mail, ale w zależności od systemu możesz go skopiować do tej samej lokalizacji, co element do zrobienia. Po prostu przeciągnij / upuść pocztę do folderu lub pulpitu, aby utworzyć kopię wiadomości, którą możesz traktować jak zwykły plik.

Jeśli używasz .doc lub bardziej „zaawansowanych” plików niż .txt, możesz połączyć się z tym plikiem wiadomości programu Outlook.


1
Pójdę z tym rozwiązaniem. Oto mój nowy przepływ pracy: Przeciągnij pocztę do folderu tymczasowego. Utwórz element do zrobienia w trybie org. Dodaj plik wiadomości jako załącznik do elementu: Cc Ca m (plik wiadomości zostanie przeniesiony do folderu załączników). Później mogę otworzyć wiadomość z pozycji do zrobienia, naciskając Cc Ca o.
Christian Berg,


0

Nie bez jakiegoś niestandardowego kodu. Identyfikatory URI programu Outlook mogą prowadzić do folderu zawierającego w programie Outlook, ale to wszystko. Musisz wymyślić sprytną strategię archiwizacji, która jest zgodna ze strategią łączenia, aby uzyskać bardziej szczegółowy.


Inne odpowiedzi pokazują, że jest to możliwe, stąd opinia negatywna.
Saaru Lindestøkke

0

Prawdopodobnie twoje wymagania różnią się od moich.

Outook 2013> Karta Wiadomość (normalny widok)> Przycisk „Działania”> Widok w przeglądarce

Następnie otrzymuję ten link z przeglądarki.

Mam nadzieję, że to pomoże


2
To wydawało się obiecujące, ale Outlook 2013dla mnie tworzy to .mhtplik w AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.Outlook` and opens that in IE using a 'mhtml:file://.. adresie URL, więc nie idź.
Nędzna Zmienna

0

Możesz skopiować wiadomość e-mail programu Outlook do programu OneNote (pojawia się jako żółta ikona litery), a następnie kliknij prawym przyciskiem myszy i wybierz „link do akapitu”, a następnie wklej link do innego dokumentu, który może współpracować z linkami.

Ale tak czy inaczej, Microsoft powinien był uczynić to łączenie z pocztą e-mail standardową funkcją. To była tak przydatna funkcja Lotus Notes.


To przydatna funkcja. Ale jaki jest model bezpieczeństwa? Czy chcesz, aby zły facet wysłał Ci link w wiadomości e-mail, który możesz otworzyć przypadkowo? GUIDY, oczywiście, niewidoczne na zewnątrz - chyba że przeciekają ...
Krazy Glew

0

Nie mam wystarczających środków na reputację, aby zamieścić komentarz do zaakceptowanej odpowiedzi powyżej, ale chciałem umieścić odsyłacz w celu rewizji doskonałej odpowiedzi udzielonej przez @ user25995 - który zamieściłem na (emacs) StackExchange .

Na podstawie komentarza otrzymałem na pytanie napisałem tam, zmieniłem użycia (przestarzałe) org-add-link-typedo org-link-set-parametersi obejmował export:funkcję tak, że backend eksport HTML dała mi prawidłowo sformatowany <a href="outlook:...">typ łącza.


Komentarz nie powinien być przesyłany jako odpowiedź z powodu niemożności przesłania rzeczywistego komentarza.
Ramhound,

2
@Ramhound - starałem się wskazać zaakceptowaną odpowiedź, nawet podając link i uznając autora. Następnie zaproponowałem małą wersję, która pozwala uniknąć użycia przestarzałej funkcji. Nie zamierzałem tutaj naruszać protokołu - czy istnieje właściwy sposób, aby to przekazać, jeśli nie mam wystarczającej liczby punktów Brownie, aby skomentować zaakceptowaną odpowiedź?
kwoodham

-1

Korzystam z Wunderlist do zarządzania zadaniami i stwierdziłem, że dzięki dodatkowi Wunderlist do programu Outlook mogę tworzyć nowe zadania bezpośrednio z wiadomości e-mail, a Wunderlist automatycznie tworzy łącze w notatkach zadań do oryginalnej wiadomości. Kilka rzeczy, o których należy pamiętać:

  1. Zawsze najpierw przenoszę wiadomość do folderu, ponieważ (przy ostatnim sprawdzeniu) adres URL się psuje, jeśli później przeniesiesz wiadomość do innego folderu.
  2. Mimo że istnieje dodatek do pulpitu programu Outlook, wydaje się, że nie zawiera łącza, więc używam programu Outlook w sieci, gdy chcę utworzyć zadanie.
  3. Próbowałem tego tylko z programem Outlook w sieci Web dla Office 365, używając firmowego konta e-mail. Zakładam, że działa równie dobrze z kontami Office 365 dla klientów indywidualnych, ale go nie wypróbowałem.
  4. Nawet jeśli nie korzystasz z Wunderlist, możesz się zarejestrować i użyć go do wygenerowania adresu URL, gdy go potrzebujesz.

I tylko dla ujawnienia, pracuję dla Microsoftu, chociaż nie jestem związany ani z zespołami Outlook, ani Wunderlist.


1
Przeczytaj uważnie pytanie ponownie. Twoja odpowiedź nie odpowiada na pierwotne pytanie. OP używa emacs.
DavidPostill

@DavidPostill Z szacunkiem, myślałem, że tak. Dlatego podałem numer 4 jako sposób na uzyskanie adresu URL wiadomości, który można następnie przechowywać w dowolnym miejscu, w tym w pliku tekstowym.
AJSkew
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.