VBA-Import von Mails - Speicherproblem
29.06.2020 13:10:59
Mails
Ich habe ein Excel-Sheet so ausgestattet, dass per Ribbon-Button die Möglichkeit besteht, E-Mails aus dem geöffneten Outlook zu importieren. Das funktioniert folgendermaßen:
Man wählt eine Zelle in Tabelle 1 vor, auf die die Mail quasi importiert werden soll. Anschließend klickt man auf besagten Ribbon-Button.
Die aktuell in Outlook geöffnete Mail wird genommen und per "Item.SaveAs sn, olMSG" als MSG gespeichert, wobei unter dem String "sn" der gewünschte Speicherpfad hinterlegt ist.
Anschließend wird das Objekt in der versteckten Tabelle 2 per "Set o = Tabelle2.OLEObjects.Add(Filename:=sn, Link:=True, DisplayAsIcon:=False)" eingettet und verlinkt. Ich habe mich gegen eine direkte Speicherung in der Datei entschieden, um die Dateigröße nicht explodieren zu lassen.
In der versteckten Tabelle 3 wird nun an der gleichen Position wie die in Tabelle 1 der Objekt-Index per "Tabelle3.Cells(ActiveCell.Row, ActiveCell.Column) = o.Index" eingetragen.
Abschließend kann die Zelle in Tabelle 1 noch per InputBox beschrieben werden.
Das Öffnen funktioniert durch Anklicken der entsprechenden Zelle in Tabelle 1 und Drücken eines zweiten Ribbon-Buttons. Dabei wird kontrolliert, ob in Tabelle 3 an gleicher Stelle eine ID eingetragen ist und - falls ja - die zugehörige Mail per "Tabelle2.OLEObjects(Tabelle3.Cells(ActiveCell.Row, ActiveCell.Column).Value).Verb Verb:=xlPrimary" geöffnet.
Das alles funktioniert soweit auch einwandfrei. Nun soll die Datei aber auf einem Gruppenlaufwerk liegen und von mehreren Anwendern benutzt werden können - da beginnen leider die Probleme. Denn sobald ich die Excel-Datei dort hin kopiere und eine Mail importiere, funktioniert zwar der Import weiterhin, die MSG-Datei wird auch auf dem Gruppenlaufwerk abgelegt, aber innerhalb Excel unter "Daten" und "Verknüpfungen bearbeiten" ist als "Ziel" der Verknüpfung nicht der Pfad zum Gruppenlaufwerk, sondern ein Pfad in mein eigenes AppData-Verzeichnis eingetragen. Das hat zur Folge, dass die Verknüpfung schon nach einem Excel-Neustart nicht mehr funktioniert, geschweige denn andere Anwender diese Verknüpfung überhaupt nutzen können.
Lange Rede, kurzer Sinn: Weiß jemand eine Möglichkeit, der Verknüpfung als Ziel den Pfad zum Gruppenlaufwerk "aufzuzwingen"?
Ich bedanke mich schon mal bei jedem, der Rat weiß und helfen kann!
Viele Grüße wünscht
MarvinK