öfters möchte ich zu einem offenen Word-Dokument den jeweiligen Ordner im Windows-Explorer sehen, beispielsweise um dort nach einem anderen Dokument (welches kein Word-Dokument sein muss), zu fahnden oder sonst etwas zu erledigen. Hat man das Word-Dokument vom Windows-Explorer aus geöffnet, ist das Fenster meist noch im Hintergrund vorhanden. Das muss aber nicht immer so sein. Word stellt bekanntlich einen eigenen Befehl zum Öffnen eines Ordners zur Verfügung (Strg+o), der auch Dateien beispielsweise vom Typ PDF anzeigt. Gleichwohl kann es sinnvoll sein, den echten-Windows-Explorer mit dem aktuellen Ordner offen zu haben. Diesen Ordner per Mausklick durch die Ordnerstruktur vom Windows-Explorer anzusteuern, kann bei einer verschachtelten Struktur insbesondere auf einem Netzlaufwerk ganz schön nervig sein, auch wenn Windows 7 gute Hilfestellungen leistet (Suchordner). Ich finde jedenfalls einen Sprachbefehl zur Abkürzung ganz schick.
Aufbauend auf Rüdigers Hinweisen und Einsichten habe ich folgendes kleines Skript gebastelt. Die Word-Objektbibliothek muss eingebunden werden. Ich habe das Skript bei mir „anwendungsspezifisch“ gesetzt (so dass es nur erkannt wird, wenn der Cursor in einem Word-Dokument steht) und „Explorer-Ordner öffnen“ genannt. Das Skript merkt sich zunächst die Pfadangabe des offenen Dokuments, öffnet dann den Windows-Explorer, dort nach kurzer Wartezeit (individuell einzustellen) die Titelleiste und sendet den Pfad in diese hinein. Nach dem Abschluss mit Enter wird dann das richtige Fenster angezeigt, wenn alles glatt geht. Bei mir geht es glatt. Vielleicht freut sich jemand daran.
Beste Grüße, Marius Raabe
Sub Main Dim path As String path = Word.ActiveDocument.Path SendSystemKeys "{WIN+e}" Wait .4 SendKeys "%e",1 Wait .2 SendKeys path,1 SendKeys "{Enter}" End Sub
Dragon NaturallySpeaking 11.5 Legal Windows 7 Prof. 64-Bit, Office 2010, Jarte Plus Philips SpeechMike II Pro Plus, SpeechMike III, SpeechMike Air, PDCC 2.8 Intel Core2 Quad Q9550, 2,83 GHz, 2x6MB L-2, 8 GB RAM
Sehr gut, ich würde nur eine winzige Ergänzung anregen. Wenn ich es richtig sehe, besteht der Dateipfad nur bei einem Dokument, wenn es schon (mindestens einmal) gespeichert ist, sonst ist der Pfad leer. Deshalb würde ich noch eine kleine Prüfschleife einbauen, nämlich:
' nach path = ... If path "" Then ' Code wie gehabt bis zum Schluss Else MsgBox "Bitte erst speichern ..." End If
Solche Tests einzubauen, vor allem bevor mehrere Anweisungen in anderen Anwendungen ausgeführt werden, kann ohnehin nie schaden.
Gruß, Rüdiger
_______________________________________
Dragon Professional 16 auf Windows 10 Pro und Windows 11 SpeechMike Premium (LFH3500); Office 2019 Pro + Office 365 (monatliches Abo) HP ZBook Fury 17 G8 - i7-11800H - 24 MB SmartCache - 32 GB RAM - 1 TB SSD