MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Outlook (Express), sonst. Mailprogramme
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 25.01.2018, 13:52   #1
halweg
MOF Koryphäe
MOF Koryphäe
Standard OL 2010 - Link auf E-Mails und andere Outlook-Elemente

Hallo zusammen,

innerhalb von Outlook verlinke ich gern mal nicht nur auf das Internet sondern auch auf andere Outlookelemente. So kann ich im Text einer Aufgabennotiz die zugehörige E-Mail verweisen oder im Zusammenhang mit einem Termin auf zugehörige Aufgaben. Sehr praktisch!

Momentan mache ich das so, dass ich (mit Hilfe eines externen Skriptes) ein Outlook-Element in das Journal ziehe/kopiere (ich weiß, dass geht wohl in späteren Versionen so nicht mehr) und den im Journaleintrag entstehenden Link (mit Brief- oder Aufgabensymbol) in die Zwischenablage kopiere.

Dieses Linksymbol kann ich dann in Outlook überall einfügen, es verweist korrekt auf das betreffende Outlook-Element, egal wohin ich das zwischenzeitlich geschoben habe.

So weit so gut.

Nun würde ich gern auch mit der Hyperlink-Funktion auf Outlook-Elemente zugreifen, da ich das besser in den Text integrieren kann. Ich weiß, dass ist "ab Werk" nicht vorgesehen, man kann nur auf Dateien oder Webseiten zugreifen.
Aber vielleicht hat ja jemand eine Idee für einen Workaround, irgend ein spezielle Hyperlink-Syntax eben, der den direkten Zugriff auf eine Mail, eine Aufgabe oder ein anderes Outlook-Element ermöglicht.

Besten Dank im Voraus fürs Mitdenken,
Halweg

__________________

Windows 7, Windows 10, Office 2002, Office 2010
halweg ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 25.01.2018, 20:59   #2
markusxy
MOF Meister
MOF Meister
Standard

Zitat: von halweg Beitrag anzeigen

den direkten Zugriff auf eine Mail


Im Prinzip ist Outlook doch ähnlich organisiert wie eine Datenbank.
Wenn ein Element von einer Tabelle in eine andere verschoben wird, ist der aktuelle Ort unbekannt - außer das wird beim Verändern direkt aufgezeichnet.

Möglich wäre es also. Im Prinzip könnte man einen Link zu einem VBScript verwende, der dann für das Öffnen des Elements zuständig ist. Für das Öffnen müsste man sich dann eine Strategie überlegen - aber da mach ich mir bei Dir keine Sorgen.
LG M
markusxy ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.01.2018, 16:13   #3
halweg
Threadstarter Threadstarter
MOF Koryphäe
MOF Koryphäe
Standard

Danke Markus für die Rückmeldung und entschuldige, dass ich mich jetzt erst melde.
In Outlook haben ja alle Elemente eine ID und auf die könnte man verweisen, unabhängig vom Ort.
Das Problem ist aber tatsächlich die Hyperlink-Funktionalität. Da habe ich noch keine Idee, wie ich da auf ein Outlook Element komme. Ein VBScript ansteuern - ja das geht. Aber Parameter übergeben??? Kein Plan.
Auch die Outlook-Startparameter lassen ja vieles zu, nicht aber das Öffnen eines konkreten Elementes.

__________________

Windows 7, Windows 10, Office 2002, Office 2010
halweg ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 30.01.2018, 11:29   #4
markusxy
MOF Meister
MOF Meister
Standard

Zitat: von halweg Beitrag anzeigen

In Outlook haben ja alle Elemente eine ID und auf die könnte man verweisen, unabhängig vom Ort.

Welche ID meinst du?
Die EntryID ändert sich ja immer beim Verschieben in einen anderen Ordner.
Aber grundsätzlich gibt es immer einen Weg, ein Element zu finden.

Zitat: von halweg Beitrag anzeigen

Das Problem ist aber tatsächlich die Hyperlink-Funktionalität. Da habe ich noch keine Idee, wie ich da auf ein Outlook Element komme. Ein VBScript ansteuern - ja das geht. Aber Parameter übergeben??? Kein Plan.

Ich würde pro Link ein Script erstellen (Die ID könnte z.B. Teil des Striptnamens sein). Das Script könnte dann ein weiteres Script aufrufen, dass dann die ID empfängt und das Objekt öffnet.
markusxy ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 30.01.2018, 11:47   #5
EarlFred
MOF Guru
MOF Guru
Standard

Zitat:

Die EntryID ändert sich ja immer beim Verschieben in einen anderen Ordner.

sie ändert sich beim Verschieben in einen anderen Store (z. B. eine andere PST-Datei).
Innerhalb des Stores ist die EntryID fix und kann mittels GetItemFromID() gefunden werden.

__________________

Datum und Uhrzeit, Makrorekorder-Code entschlacken, {Matrixformeln}
Tutorials zu Pivottabellen: Kurzeinstieg; Dynamischer Datenbereich; Daten und Zeiten gruppieren
Für 6 meiner Beiträge haben sich die Hilfesuchenden mit einer Spende an Wikipedia, die Tafeln oder Hilfe für krebskranke Kinder eV bedankt (das entspricht 0,044% per 26.07.2018) - eine tolle Geste!

Geändert von EarlFred (30.01.2018 um 11:51 Uhr).
EarlFred ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 30.01.2018, 13:28   #6
halweg
Threadstarter Threadstarter
MOF Koryphäe
MOF Koryphäe
Standard

Zitat: von markusxy Beitrag anzeigen

Ich würde pro Link ein Script erstellen (Die ID könnte z.B. Teil des Striptnamens sein). Das Script könnte dann ein weiteres Script aufrufen, dass dann die ID empfängt und das Objekt öffnet.

Danke und ja, das habe ich auch schon überlegt. Im einfachsten Fall erstelle ich leere ID-Dateien, z. B. 12345467.oid und sage Windows, dass diese immer mit einer bestimmten Bat-Datei geöffnet werden sollen. Letztere tut dann nichts anderes, als aus diesen Dateinamen die ID zu extrahieren und das entsprechende Outlook-Objekt zu öffnen.

__________________

Windows 7, Windows 10, Office 2002, Office 2010
halweg ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 30.01.2018, 14:26   #7
markusxy
MOF Meister
MOF Meister
Standard

Zitat: von EarlFred Beitrag anzeigen

sie ändert sich beim Verschieben in einen anderen Store (z. B. eine andere PST-Datei).
Innerhalb des Stores ist die EntryID fix und kann mittels GetItemFromID() gefunden werden.

Nein, also bei meinem Outlook jedenfalls nicht.
Ein Teil innerhalb der Nummer ändert sich.
Wenn man zwischen Ordnern hin und her schiebt, bemerkt man, dass immer nur ein kleiner Teil der Nummer (bei mir ab Stelle 80) geändert wird und beim zurückschieben, wird der alte Zustand wiederhergestellt. Vermutlich wird also eine ID des Folders in der EntryID mitgespeichert.

LG M
markusxy ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 30.01.2018, 15:27   #8
halweg
Threadstarter Threadstarter
MOF Koryphäe
MOF Koryphäe
Standard

Also ich hab's gerade mal mit
Code:

Sub test()
MsgBox ActiveExplorer.Selection.item(1).EntryID
End Sub
probiert. E-Mail aus Posteingang in Ablage kopiert.
Beide mal genau identische Nummer (jeweils 48 Stellen lang).

__________________

Windows 7, Windows 10, Office 2002, Office 2010
halweg ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 30.01.2018, 15:57   #9
markusxy
MOF Meister
MOF Meister
Standard

Tatsächlich beim PST Dateiformat hat die EntryID tatsächlich 48 Stellen.
Beim OST Format hat die EntryID 140 Stellen.

LG M
markusxy ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 31.01.2018, 08:32   #10
EarlFred
MOF Guru
MOF Guru
Standard

@markus,

verflixt und danke für's Testen. Tatsächlich kann ich Deine Beobachtungen bei Exchange bestätigen - die Entry-ID verändert sich beim Verschieben.

Andererseits kann ich auch halwegs Beobachtung aus der Erinnerung bestätigen, dass es beim Verschieben innerhalb von PST-Dateien keine Änderung der ID gibt. Diese Erfahrung deckte sich bisher auch mit meiner Lesart der Onlinehilfe, die hier wohl fehlinterpretierbar ist. Daher auch meine falsche Überzeugung. Man sollte sich halt nie sicher sein und man lernt nie aus!

Grüße
EarlFred

__________________

Datum und Uhrzeit, Makrorekorder-Code entschlacken, {Matrixformeln}
Tutorials zu Pivottabellen: Kurzeinstieg; Dynamischer Datenbereich; Daten und Zeiten gruppieren
Für 6 meiner Beiträge haben sich die Hilfesuchenden mit einer Spende an Wikipedia, die Tafeln oder Hilfe für krebskranke Kinder eV bedankt (das entspricht 0,044% per 26.07.2018) - eine tolle Geste!
EarlFred ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 31.01.2018, 09:17   #11
markusxy
MOF Meister
MOF Meister
Standard

Zitat: von EarlFred Beitrag anzeigen

Lesart der Onlinehilfe

Die Hilfe müsste halt zwischen den Dateiformaten differenzieren.
Die Hilfe ist halt leider nicht sehr professionell.
markusxy ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 31.01.2018, 12:11   #12
halweg
Threadstarter Threadstarter
MOF Koryphäe
MOF Koryphäe
Standard

Kurzer Zwischenstand. Ich habe inzwischen die Linkfunktionalität realisiert.
Für alle, die es interessiert, hier die Schritte:

1. Erstellung eines Makros, welches basierend auf der ID des aktuellen Outlook-Elementes (1) eine leere Datei mit der ID und der Erweiterung .oln neu erzeugt und (2) den Pfad dieser Datei in die ZA schreibt:
Code:

Sub Link_Datei_erstellen()
' Erstellt eine Datei vom Typ .oln auf das aktuelle Outlook-Element
Dim akt_item, dateiname As String
  If TypeName(Application.ActiveWindow) = "Explorer" Then
    If Application.ActiveExplorer.Selection.Count <> 1 Then Beenden "Link erstellen: Es sind mehrere Elemente markiert."
    Set akt_item = ActiveExplorer.Selection.item(1)
  ElseIf TypeName(Application.ActiveWindow) = "Inspector" Then
    Set akt_item = ActiveInspector.CurrentItem
  End If
  dateiname = "c:\OLNK\" & akt_item.EntryID & ".oln"
  FileCopy "c:\OLNK\leer.oln", dateiname
  text_in_ZA dateiname
End Sub

2. Erstellung eines VBS-Skriptes, welches oln-Dateinamen als Parameter akzeptiert und das entsprechende Outlook-Element öffnet:
Code:

' ******************** Outlook Element anhand der ID öffnen
Dim outlookobjekt, parms1, parms2

 IF Wscript.Arguments.Count <> 1 Then
    MsgBox "ooln.vbs: Benötigt wird genau ein Parameter."
  ELSE
    Set outlookobjekt = createObject("Outlook.Application")
    parms1=Split(Wscript.Arguments(0),"\")                 ' Splittet übergebene Verzeichnisse 
    parms2=Split(parms1(UBOUND(parms1)),".")               ' Splittet den Dateinamen 
    outlookobjekt.GetNamespace("MAPI").GetItemFromID(parms2(0)).Display
  End If

3. Verknüpfung von .oln-Dateien mit dem VBS-Skript (Registry).

4. Alles in Outlook auf Tasten legen (Link-Erzeugung und Link-Einfügung).

Das Einzige, was noch stört, ist die (aus meiner Sicht unvermeidbare) Meldung mit dem "potentiellen Sicherheitsrisiko", da musste dann die Fensterpflege ran. .

__________________

Windows 7, Windows 10, Office 2002, Office 2010
halweg ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.08.2018, 15:12   #13
halweg
Threadstarter Threadstarter
MOF Koryphäe
MOF Koryphäe
Standard

Inzwischen nutze ich diese Verlinkung seit einem halben Jahr und es funktioniert perfekt. Wusste gar nicht, wie ich ohne diese Links früher arbeiten konnte.
Auch aus Word oder Excel heraus kann ich so auf eine Mail oder einen Termin verlinken.

Geändert habe ich nichts, bis auf, dass ich nun in die Link-Datei
(Name ist z. B. "00000000B21AAC089A609C4B80ED013CF2ED7BD444832601.oln") auch noch einige Infos über das verlinkte Element schreibe, also Betreff, Termin usw. So könnte ich dieses, falls der Link durch Archivierung o.ä. verloren geht, wieder aufspüren.
Das aktuelle Makro zum Erstellen einer Link Datei auf das aktuelle Outlook-Element sieht dann so aus:
Code:

Sub Link_Datei_erstellen()
' Erstellt eine Datei vom Typ .oln als Link auf das aktuelle Outlook-Element

' 1. Aktuelles Outlook Element ermitteln
Dim akt_item
  If TypeName(Application.ActiveWindow) = "Explorer" Then
    If Application.ActiveExplorer.Selection.Count <> 1 Then Beenden "Link erstellen: Es sind mehrere Elemente markiert."
    Set akt_item = ActiveExplorer.Selection.Item(1)
  ElseIf TypeName(Application.ActiveWindow) = "Inspector" Then
    Set akt_item = ActiveInspector.CurrentItem
  End If

' 2. Link Datei erzeugen
Dim dateiname As String, fsi, datei
  dateiname = "c:\OLNK\" & akt_item.EntryID & ".oln"
  Set fsi = CreateObject("Scripting.FileSystemObject")
  Set datei = fsi.OpenTextFile(dateiname, 8, True) ' 8=ForAppending
  
' 3. Abhägig vom Typ des Outlook Elementes Kenndaten in Link-Datei schreiben
  datei.WriteLine
  datei.WriteLine "Linkdatei, erstellt / ergänzt am " & Date & " um " & Time
  Select Case akt_item.Class
    Case olMail
      datei.WriteLine "E-Mail"
      datei.WriteLine "Betreff: " & akt_item.Subject
      datei.WriteLine "Gesendet am " & akt_item.SentOn & " von """ & akt_item.SenderEmailAddress & """"
      datei.WriteLine "Erhalten am " & akt_item.ReceivedTime & " von """ & akt_item.To & """"
    Case olTask
      datei.WriteLine "Aufgabe"
      datei.WriteLine "Betreff: " & akt_item.Subject
      datei.WriteLine "Beginn: " & akt_item.StartDate & " Ende: " & akt_item.DueDate
      datei.WriteLine "Erledigt: " & akt_item.Status
    Case olAppointment
      datei.WriteLine "Termin"
      datei.WriteLine "Betreff: " & akt_item.Subject
      datei.WriteLine "Beginn: " & akt_item.start & " Ende: " & akt_item.End
    Case olJournal
      datei.WriteLine "Journal"
      datei.WriteLine "Betreff: " & akt_item.Subject
      datei.WriteLine "Beginn: " & akt_item.start & " Ende: " & akt_item.End
      datei.WriteLine "Type: " & akt_item.Type
    Case olContact
      datei.WriteLine "Kontakt"
      datei.WriteLine "Name: " & akt_item.FullName & " (Speichern unter: " & akt_item.FileAs & ")"
      datei.WriteLine "Firma:" & akt_item.Companies
      datei.WriteLine "Kategorien: " & akt_item.Categories
    Case Else
      MsgBox "Link erzeugt, aber Eigenschaften für ein Element vom Typ Nr. " & akt_item.Class & " können nicht geschrieben werden."
  End Select
  
' 4. Datei schließen und Link in Zwischenablage
  datei.Close
  Sound "leise", "Linkdatei " & dateiname & " wurde erstellt."  ' Bestätigungston kommt aus AHK
  text_in_ZA dateiname
End Sub

__________________

Windows 7, Windows 10, Office 2002, Office 2010
halweg ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:58 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.