![]() |
|
![]() |
#1 |
![]() Neuer Benutzer |
![]() Hallo,
wenn man in Outlook eine Mail auf dem lokalen PC speichert und dazu einen Zielordner ausgewählt hat, "merkt" Outlook sich diesen Ordner für die weitere Sitzung. Wenn man eine weitere Mail oder Anlagen speichern will, öffnet Outlook den "Speichern-unter"-Dialog gleich an dieser Stelle. Zeitweise müsste also der Pfadname des Zielordners im System abgelegt sein. Ich möchte nun diesen Pfadnamen in VBA auslesen, weiß aber nicht welches Objekt infrage kommt. (Damit will ich den Zielordner im Windows-Explorer öffnen, da weiß ich dann wie es geht.) MfG wwwili |
![]() |
![]() ![]() |
![]() |
#2 |
![]() MOF Meister |
![]() Der Pfad wird in der Registry zu finden sein.
Also entweder das Web nach Hinweisen durchforsten, oder du durchsuchst die Registry nach dem Pfad. |
![]() |
![]() ![]() |
![]() |
#3 |
Threadstarter
![]() ![]() Neuer Benutzer |
![]() Hallo,
in der Registry finde ich den Pfad nicht. Web durchforsten? Heißt: nicht in diesem Forum, meinst Du? MfG |
![]() |
![]() ![]() |
![]() |
#4 |
![]() MOF Koryphäe |
![]() Schau mal unter
C:\Users\ dort findest du das Speicherverzeichnis (und den Dateinamen) anhand des jüngsten Änderungsdatums. __________________ Windows 7, Windows 10, Office 2002, Office 2010 |
![]() |
![]() ![]() |
![]() |
#5 |
Threadstarter
![]() ![]() Neuer Benutzer |
![]() Hm, ja, nicht schlecht. Danke.
Ich finde es als Link (mit Pfad und Name) unter C:/Users/%user%/AppData/Roaming/Microsoft/Office/Recent Aber das ist natürlich ein Sammelsurium an "recently" benutzten Namen, wo ich nur mit gewisser Wahrscheinlichkeit das richtige raussuchen kann. Wenn sich da im Laufe der Sitzung etliche neue Recent-Namen anhäufen, weiß Outlook immer noch, in welchem Ordner zuletzt ein SaveAs ausgeführt wurde. Also Outlook hat vermutlich eine andere Stelle, wo es das ablegt. Aber ja, das letzte gespeicherte .msg sollte eigentlich das richtige sein. Jetzt muss ich noch rausfummeln, wie ich in VBA von dem .lnk die Eigenschaften abfrage. MfG |
![]() |
![]() ![]() |
![]() |
#6 |
![]() MOF Koryphäe |
![]() Ja richtig, dieses Verzeichnis ist ein von Windows geführter Nebenkriegsschauplatz. Der eigentliche Pfad liegt einfach im an Outlook zugewiesenen Hauptspeicher, da er ja außer Outlook auch von niemandem benötigt wird.
Vielleicht finden wir auch für dich eine andere Lösung, wenn du uns sagst, wofür du den Pfad brauchst. __________________ Windows 7, Windows 10, Office 2002, Office 2010 |
![]() |
![]() ![]() |
![]() |
#7 |
Threadstarter
![]() ![]() Neuer Benutzer |
![]() Ich speichere wichtige Mails als .msg in verschiedenen (projektbezogenen) Netzwerkpfaden. Auch die Mail-Anlagen speichere ich oft neben dem .msg im selben Pfad (weil sich z.B. dwg-Dateien nicht aus der Mailanzeige öffnen lassen, sondern nur wenn sie extra gespeichert sind). Die Pfade sind relativ lang und dauernd anders.
Danach möchte ich oft den betreffenden Ordner direkt im Windows-Explorer öffnen, um z.B. die dwg-Dateien in einem CAD-Programm anzusehen, evtl. weiterzubearbeiten. Für diesen Vorgang (Ordner im Explorer öffnen) muss ich für meinen Geschmack zuviel herumklicken (entweder nochmal SpeichernUnter aufrufen, damit den übergeordneten Pfad im Explorer öffnen usw., Speichernunter wieder beenden; oder in einem neuen Explorerfenster mich komplett vom Defaultverzeichnis bis zu meinem Ordner hinzuklicken), obwohl doch das "System" offenbar den Zielordner noch "weiß". Diesen Vorgang muss ich so oft machen, dass es nervt. Das sollte also automatisch mit einem Outlook-VBA-Makro machbar sein: Öffne im Windows-Explorer den Ordner, in dem die letzte .msg gespeichert wurde. Bisher der Plan: - Lies im Recent-Ordner alle .msg.lnk, - identifiziere die neueste .msg.lnk, - lies den Ziel-Pfad aus diesem lnk-File, - schneide nötigenfalls den Dateinamen hinterm letzten Backslash ab, - öffne diesen Pfad mit der shell im Vordergrund. Wenn es ganz anders ginge, hätte ich auch nichts dagegen. Vielleicht hat OLK ja schon einen Button dafür. MfG Geändert von wwwilli (11.02.2019 um 21:30 Uhr). |
![]() |
![]() ![]() |
![]() |
#8 |
![]() MOF Koryphäe |
![]() Ich selbst mag die Rumklickerei auch nicht.
Habe mir deshalb mit AHK meine ganzen Zusatztasten auf der Tastatur belegt, die führen mich schnell zu den wichtigen Speicherorten. Dieses Skript funktioniert auch innerhalb von Speichern-unter Dialogen. Deshalb ist für mich eine solche Lösung weniger wichtig. Auch ohne Skript könntest du wichtige Verzeichnisse per Links auf Tastenkombinationen legen und/oder als Favoriten im Speicher-Unter-Dialog ablegen. Eine Alternative wäre, das Speichern-Unter direkt nachzuprogrammieren und dann quasi einen eigenen Dialog zu nutzen. Das nachträgliche Öffnen des jeweiligen Ordners wäre das programmtechnisch einfach. __________________ Windows 7, Windows 10, Office 2002, Office 2010 |
![]() |
![]() ![]() |
![]() |
#9 |
Threadstarter
![]() ![]() Neuer Benutzer |
![]() Hm, hilft mir, glaube ich, nicht weiter. Zu viele verschiedene Pfade. Jede Mail kriegt ja auch noch ein eigenes, neu erstelltes "Datums"-Verzeichnis.
Ich versuch es die Tage mal nach obigem Plan, ohne in die Win-APIs einzusteigen. MfG Geändert von wwwilli (12.02.2019 um 12:05 Uhr). |
![]() |
![]() ![]() |
![]() |
#10 |
![]() MOF Koryphäe |
![]() Wäre das nicht der Ansatz?
Du erstellst ein Makro, welches - ein Verzeichnis entsprechend E-Mail Datum erstellt, - die aktuelle Mail darin speichert, - das Verzeichnis öffnet - und auf eine Taste gelegt wird. Das wäre hinsichtlich deines Szenarios nicht nur komfortabler, sondern wahrscheinlich auch leichter zu programmieren als eine Untersuchung des Recent-Ordners. __________________ Windows 7, Windows 10, Office 2002, Office 2010 |
![]() |
![]() ![]() |
![]() |
#11 |
Threadstarter
![]() ![]() Neuer Benutzer |
![]() Du bist ein Fan vom Taste-Belegen...
Das Öffnen des letzten Speicherverzeichnisses ist bei mir meist nur einmalig nötig. Meistens ist es gar nicht nötig, wenn keine Anlagen dabei sind oder nur PDFs o.ä., die man auch aus Outlook öffnen kann. Aber bei -zig Mails am Tag eben doch oft genug. (Eine andere Vorstellung wäre, bei _jeder_ Mail in OLK zu hinterlegen, wo ihre Daten im Netz ggf. gespeichert wurden, damit man jederzeit diesen Schritt zum Explorer nochmal wieder machen kann. Das habe ich in vergangenen Zeiten schon mal gemacht, mit Übernahme des ganzen SpeichernUnter-Vorgangs und Anpassen des Mail-HTMLBodys. Das ist für den jetzigen Rahmen aber nicht angemessen und auch zu betreuungsintensiv.) Das Erstellen eines Ordnernamens mit Datum und Absender und das Speichern habe ich durch ein kleines Makro schon soweit unterstützt, wie es mir sinnvoll scheint. Dabei arbeite ich mit der Zwischenablage, was durch das neue Win-V jetzt sehr schön erleichtert wird. Da muss man zwar auch ein bisschen hin- und herzappeln, weiß dafür aber jederzeit, was man (selbst) tut. Jetzt fehlt mir eben nur noch der kleine Button für "Öffne das letzte im Explorer". Wird schon werden mit den Recent-Links. MfG |
![]() |
![]() ![]() |
![]() |
#12 |
![]() MOF Meister |
![]() Du möchtest das Verz., in welches zuletzt gespeichert wurde, in der nächsten Outlooksitzung nutzen können? OL merkt sich das selbst nur für die aktuelle Sitzung.
Möglichkeiten: - selbst einen reg-Key anlegen und dort den Pfad speichern - eine eigene Umgebungsvariable verwenden (Beispiel: http://www.access-im-unternehmen.de/281.0.html) __________________ Gruss TorstenWin 7 SP1, O2010, VB6 Pro SP6, VB2010 SP1 |
![]() |
![]() ![]() |
![]() |
#13 |
Threadstarter
![]() ![]() Neuer Benutzer |
![]() Das setzt voraus, dass ich den Pfad kenne? Eigentlich ist DAS mein Problem, nicht die NÄCHSTE Sitzung...
|
![]() |
![]() ![]() |
![]() |
#14 |
![]() MOF Meister |
![]() dieser Pfad wird temporär im Speicher gehalten und nur OL kann darauf zugreifen. Somit per VBA nicht möglich und auch generell kann es mit Bordmitteln nicht zum "merken" gebracht werden.
2 Möglichkeiten sehe ich: - die Speicherpfade zu den "Favoriten" hinzufügen (sieht man ja im Speichern unter Dialog) - selbst einen "Speichern unter " Dialog in VBA schreiben und sich den Pfad in der Registry merken (eigenr Key) __________________ Gruss TorstenWin 7 SP1, O2010, VB6 Pro SP6, VB2010 SP1 |
![]() |
![]() ![]() |
![]() |
#15 |
Threadstarter
![]() ![]() Neuer Benutzer |
![]() So, erledigt, wie in #7 skizziert.
Thread kann geschlossen werden. Danke fürs Mitdenken an alle. MfG |
![]() |
![]() ![]() |