Bisakah saya membuat tautan ke pesan email tertentu di Outlook?

63

Saya menggunakan Outlook sebagai klien email saya di kantor, tetapi saya tidak ingin menggunakannya untuk mengelola tugas dan todos saya. (Alih-alih, saya menggunakan file teks biasa dan mode org Emacs.) Karena banyak item todo dimulai sebagai surat di kotak masuk saya, saya sering perlu merujuk surat-surat ini.

Apakah ada cara pintar untuk membuat tautan (URL) yang membuka email tertentu di Outlook saat diklik?

Christian Berg
sumber
Akankah ada orang dengan reputasi yang cukup menjawab pertanyaan ini? Kita berbicara tentang (TAG =>) "mode-org".
Keks Dosis

Jawaban:

32

Anda dapat melakukan ini dengan sedikit kode di Outlook dan sedikit kode di Emacs.

Pertama, jika Anda menggunakan Outlook 2007 Anda harus mengaktifkan URL Outlook dengan tambahan registri. Instruksi dan file registrasi dapat ditemukan di sini milik David Tan.

Selanjutnya, makro ini dapat ditambahkan ke Outlook dan akan mendapatkan GUID dari pesan email saat ini, membuat tautan Mode-Org dan menyimpannya ke clipboard.

'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

Seperti yang koushik catat dalam komentar, doClipboard.SetTextbagian tersebut dapat diperluas untuk membedakan antara berbagai jenis barang:

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

Hampir di sana, tambahkan sedikit lisp ini ke direktori emacs lisp Anda untuk mengaktifkan tautan 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

Dan terakhir, perbarui file .emacs Anda untuk memasukkan kode tautan Outlook. Cukup tambahkan ini di suatu tempat setelah mode-org diatur.

(require 'org-outlook)

Sekarang Anda bisa memanggil makro (saya menambahkannya ke toolbar saya di Outlook untuk akses cepat) dan Anda dapat dengan cepat membuat tautan ke email di Emacs.

Sekali saja, GUID berubah ketika Anda memindahkan pesan di antara penyimpanan dokumen, jadi jika Anda mendapatkan GUID ke pesan saat ada di server Exchange Anda dan kemudian pindahkan ke file PST lokal Anda, tautan akan berubah. Pindahkan pesan sebelum Anda mendapatkan GUID.

Saaru Lindestøkke
sumber
4
Ini bagus, terima kasih! Satu penyederhanaan: Saya tidak mengacaukan dengan registri untuk mengaktifkan URL Outlook, sebaliknya saya baru saja mengubah panggilan w32-shell-execute untuk ini: (w32-shell-execute "open" "C: / Program / Microsoft Office / Office12 / OUTLOOK.EXE "(concat" / select "" outlook: "id)
Christian Berg
1
Terima kasih atas jawaban ini. Saya menemukan bahwa saya agak perlu membuat formulir kosong untuk mencegah kesalahan kompilasi pada DataObject yang tidak ditentukan.
Laurent '
@ChristianBerg: Saya menggunakan Outlook 2003, jadi mungkin saya dapat memiliki hyperlink tanpa repot dengan registri, tetapi penyederhanaan Anda tidak berfungsi, Outlook tidak dapat menemukan URL. Dan setiap kali saya mengklik tautan di Emacs, proses pandangan-baru dimulai. Jadi saya tetap berpegang pada solusi hebat oleh user259 ...
Keks Dose
1
Saya "menggaruk gatal ini" sedikit lebih karena saya harus merekam tautan ke beberapa janji untuk mengerjakan item terkait (jadi saya bisa merujuk info / lampiran di dalamnya atau membalas semua ketika saya memiliki pembaruan dll). Sekarang ini dapat mengekspor surat, item kalender, kontak, catatan, entri jurnal dan setidaknya tidak akan gagal ketika dipanggil pada entri lain. Kode yang dimodifikasi ada di pastebin.com/gNWLVNRk (saya dapat memberikan diff jika itu akan membantu - meskipun saya tidak tahu bagaimana membuatnya di VBA). Saya tidak perlu membuat perubahan lain (sisi emacs atau regsitry) agar ini bisa bekerja pada saya. HTH.
koushik
1
Untuk mengatasi kesalahan tipe DataObject, berikut ini berfungsi untuk saya. Di editor makro, pergi ke Alat-> Referensi. Klik browse, pilih file C:\Windows\System32\fm20.dlldan tekan OK.
Hugo Ideler
6

Saya menyelesaikan ini dengan menulis vbscript sederhana ( unduh ):

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

Ini menyalin tautan elemen (Email, entri Kalender, ...) yang saat ini Anda pilih di Outlook ke clipboard Anda:

Outlook:176CZREX7A79L9TG1T0AJ6HQ8DEBLTFS60HUQYKT2IXBBZ9ZZVA73MNRYVRWRL4RY0VCPQE1IB5GAWY0D8OSMOB4IFDV5OMG9NX2BBKGFA3IWSD62UCNVK0HD9GA80BIDZSBCZL7INCT

Anda bahkan dapat menggunakan layanan pengalihan sehingga Anda mendapatkan tautan HTTP (karena Outlook:tautan mungkin tidak terdeteksi secara otomatis jika Anda menempel di suatu tempat, tetapi tautan HTTP berada) ( unduh ), cukup ganti baris terakhir dengan:

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

Perhatikan bahwa Anda perlu membuat Outlook:tautan berfungsi terlebih dahulu.
http://www.slipstick.com/problems/outlook-missing-outlook-protocol/ (gulir ke bawah ke "Do It For Me")

Diuji dengan Outlook 2010.

fnkr
sumber
3

datang di applet Linker. akan mencobanya .. Anda mungkin ingin juga http://www.teamscope.com/otherpro/utilities.asp#linker

Inilah pemasaran yang mengerikan ..

Linker ™ untuk Windows® membuat hyperlink ke item dan folder di Outlook, dan ke file dan folder di Windows Explorer. Ini adalah system tray tempat applet hyperlink di clipboard Windows. Hyperlink kemudian dapat disisipkan ke dokumen Microsoft Office, halaman web, pesan email, atau dokumen apa pun yang mendukung hyperlink.

Salam dari Afrika Selatan yang cerah!


sumber
Linker kadang bekerja, terkadang tidak terlalu banyak. Secara keseluruhan terasa sangat tidak nyaman di Win 7 + Outlook 2010
Andy
Menggunakan Office Pro Plus 2016 + Win 10 Pro, dan itu tidak berhasil. Itu rusak ketika mengakses tautan yang telah disalin - jadi ketika mengklik \\ <alamat email> \ tes \ ~ tes, aplikasi yang tidak dikenal diambil oleh win 10 sehingga rusak.
Nasri Najib
1

Saya tidak yakin tentang referensi email tertentu tetapi tergantung pada sistem Anda, Anda mungkin dapat menyalin email ke lokasi yang sama dengan item todo. Cukup seret / jatuhkan surat ke folder atau desktop dan itu akan membuat salinan surat yang dapat Anda perlakukan sebagai file normal.

Jika Anda akan menggunakan file .doc atau lebih "lanjutan" dari .txt, Anda dapat menautkan ke file pesan Outlook ini.

Paxxi
sumber
1
Saya akan pergi dengan solusi itu. Inilah alur kerja baru saya: Seret email ke folder sementara. Buat item todo dalam mode-org. Tambahkan file pesan sebagai lampiran ke item: Cc Ca m (file pesan dipindahkan ke folder lampiran). Kemudian saya dapat membuka pesan dari item todo dengan menekan Cc Ca o.
Christian Berg
0

Bukan tanpa semacam kode khusus. Outlook URI dapat mengarahkan Anda ke folder yang berisi dalam Outlook, tetapi hanya itu saja. Anda perlu membuat strategi pengarsipan yang pintar yang selaras dengan strategi penautan Anda untuk mendapatkan lebih banyak rincian.

squillman
sumber
Jawaban lain menunjukkan itu mungkin, maka downvote.
Saaru Lindestøkke
0

Mungkin kebutuhan Anda berbeda dengan milik saya.

Outook 2013> Tab Pesan (tampilan normal Anda)> Tombol 'Tindakan'> Lihat di Browser

Lalu saya mendapatkan tautan itu dari browser.

Semoga bisa membantu

jujur
sumber
2
Ini tampak menjanjikan tetapi Outlook 2013bagi saya ini membuat .mhtfile dalam AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.Outlook` and opens that in IE using a 'mhtml:file://.. url jadi jangan pergi.
Variabel sengsara
0

Anda bisa menyalin email Outlook ke OneNote (muncul sebagai ikon surat kuning), lalu klik kanan dan pilih 'tautan ke paragraf', lalu tempel tautan ke dokumen lain yang dapat bekerja dengan tautan.

Tetapi bagaimanapun juga, Microsoft seharusnya menjadikan semua hal ini menghubungkan ke email sebagai fitur standar. Itu fitur yang sangat berguna dari Lotus Notes.

Umiboshi
sumber
Ini fitur yang bermanfaat. Tapi, apa model keamanannya? Apakah Anda ingin orang jahat mengirimi Anda tautan dalam surel yang mungkin Anda buka secara tidak sengaja? GUIDs, tentu saja, tidak terlihat di luar - kecuali mereka bocor ...
Krazy Glew
0

Saya tidak memiliki kredit reputasi yang memadai untuk memberikan komentar pada jawaban yang diterima di atas, tetapi saya ingin memberikan referensi silang untuk revisi jawaban yang sangat bagus yang diberikan oleh @ user25995 - yang saya posting di (emacs) StackExchange .

Berdasarkan komentar yang saya terima untuk pertanyaan yang saya posting di sana, saya mengubah penggunaan (tidak berlaku) org-add-link-typemenjadi org-link-set-parametersdan menyertakan export:fungsi sehingga backend ekspor HTML memberi saya <a href="outlook:...">jenis tautan yang diformat dengan benar .

Khamham
sumber
Komentar tidak boleh diajukan sebagai jawaban karena ketidakmampuan Anda untuk mengirimkan komentar yang sebenarnya.
Ramhound
2
@Ramhound - Saya bersusah payah menunjuk ke jawaban yang diterima, bahkan dengan memberikan tautan dan mengakui penulis. Saya kemudian menawarkan revisi kecil yang menghindari penggunaan fungsi yang sekarang sudah usang. Saya tidak bermaksud melanggar protokol di sini - apakah ada cara yang benar untuk mengomunikasikan hal ini jika saya tidak memiliki cukup poin Brownie untuk mengomentari jawaban yang diterima?
kwoodham
-1

Saya menggunakan Wunderlist untuk mengelola tugas-tugas saya dan menemukan bahwa dengan add-in Wunderlist untuk Outlook saya dapat membuat tugas-tugas baru langsung dari pesan email dan Wunderlist secara otomatis membuat tautan dalam catatan tugas ke pesan asli. Beberapa hal yang perlu diingat:

  1. Saya selalu memindahkan pesan ke folder terlebih dahulu karena (terakhir kali saya memeriksa) URL rusak jika Anda kemudian memindahkan pesan ke folder lain.
  2. Meskipun ada add-in untuk desktop Outlook, sepertinya tidak termasuk tautan, jadi saya menggunakan Outlook di Web ketika saya ingin membuat tugas.
  3. Saya hanya mencoba ini dengan Outlook di Web untuk Office 365 menggunakan akun email perusahaan. Saya menganggap itu berfungsi sama baiknya dengan akun konsumen Office 365, tetapi belum mencobanya.
  4. Bahkan jika Anda tidak menggunakan Wunderlist, Anda bisa mendaftar dan menggunakannya untuk menghasilkan URL saat Anda membutuhkannya.

Dan hanya untuk pengungkapan, saya bekerja untuk Microsoft, meskipun saya tidak terkait dengan tim Outlook atau Wunderlist.

AJSkew
sumber
1
Silakan baca pertanyaan itu lagi dengan seksama. Jawaban Anda tidak menjawab pertanyaan awal. OP menggunakan emacs.
DavidPostill
@ DavidPostill Dengan Hormat, saya pikir sudah. Itu sebabnya saya memasukkan # 4 sebagai cara untuk mendapatkan URL ke pesan yang kemudian dapat disimpan di mana saja, termasuk dalam file teks.
AJSkew