Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1540to1544
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Pfad aus Explorerfenster lesen

Pfad aus Explorerfenster lesen
09.02.2017 11:18:27
Barbara
hallo
bin auf der Suche nach einer Möglichkeit, den User einen Ordner auswählen zu lassen, und zwar durch Anklicken eines bereits offenen Explorer-Fensters.
Ein Ordner-Fenster ist offen, ein bestimmter Ordner ist sichtbar.
Nun soll ein Makro nach einem Ordner fragen. Der Anwender will diesen nun durch Anklicken dieses bereits bestehenden Ordner-Fensters zurückgeben.
Durch Anklicken, oder einfach das zuletzt aktive Windows-Ordnerfenster, falls das möglich ist.
Jedenfalls soll man nicht in einem neuen Dialogfenster sich mühsam zum gewünschten Ordner hin klicken müssen. Denn das ist ein langer Weg und es ist nicht der Ordner der Makrodatei.
LG, B.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pfad aus Explorerfenster lesen
09.02.2017 17:39:02
Matthias
Hallo! Also so auf die schnelle würde ich sagen, dass man da mit diversen API Funktionen arbeiten müsste. Aber mal eine Frage, wie kommt dein User zu dem Ordner der schon offen ist? So wie ich das verstehe, gibst du da einen bestimmten Ordner / Pfad schon vor. Das heißt doch aber, dass du den genauen Speicherort schon kennst bzw. das System, welches den Ordner geöffnet hat. Wäre es nicht eine Möglichkeit diesen Pfad auch im Dialogfenster zu nutzen? VG
Pfad aus Explorerfenster lesen
09.02.2017 18:00:20
Anton
Hallo Barbara,
wenn ich dich richtig verstanden habe, dann so vielleicht:
Code:

Sub b()
  Dim objShell As Object, win As Object  
  Dim adresse As String, gefunden As Boolean    
  gefunden = False
  adresse = InputBox("Pfad eingeben:", "Eingabe", "C:\temp\pdfs")   'Pfad anpassen
  Set objShell = CreateObject("Shell.Application")  
  For Each win In objShell.Windows  
    If InStr(1, UCase(win.FullName), "EXPLORER") > 0 Then    
      win.navigate adresse
      AppActivate win.locationname
      gefunden = True
      Exit For  
    End If  
  Next
  If gefunden = False Then objShell.explore (adresse)  
  Set objShell = Nothing  
End Sub  


mfg Anton
Anzeige
AW: Pfad aus Explorerfenster lesen
09.02.2017 20:02:53
Barbara
Hallo
danke für Eure Antworten.
Habe mich vielleicht falsch ausgedrückt.
Praktisches Beispiel:
Ein Explorerfenster ist geöffnet und zeigt den Ordner mit endlos langem Pfad:
"C:\Users\anwender 1\Documents\Kunden intern\Apfel\2017\Bewertung\"
Nun öffne ich eine, meine Excel-Datei. Die will ich nun in den oben erwähnten Ordner speichern. Dazu starte ich das Makro meiner Träume. Eine Aufforderung soll erscheinen, mit der Bitte, das offene Explorerfenster anzuklicken. Denn dort soll sie hingespeichert werden. Nachdem ich es angeklickt habe, wird die Excel-Datei dorthin gespeichert.
Vielleicht geht das mit Antons Code, mit win.locationURL, denn da ist der Pfad, allerdings mit komischen Zeichen, wie %201 für Leerzeichen, oder %E4 für Ä.
Antons win.locationname ist ja nur der Ordnername ohne Pfad.
Es soll also nicht der Pfad händisch kopiert oder geschrieben werden, sondern durch einfaches Anklicken eines Ordnerfensters bestimmt werden.
Anzeige
AW: Pfad aus Explorerfenster lesen
10.02.2017 18:22:45
Anton
Hallo Barbara,
so?:
Code:

Sub b()
  Dim objShell As Object, win As Object  
  Set objShell = CreateObject("Shell.Application")  
  For Each win In objShell.Windows  
    If InStr(1, UCase(win.FullName), "EXPLORER") > 0 Then    
      If MsgBox("Soll deine Datei im Ordner " & vbCr & _  
                win.document.folder.self.Path & vbCr & _
                "gespeichert werden?", vbQuestion + vbYesNo, "Abfrage") = vbYes Then
        ThisWorkbook.SaveAs win.document.folder.self.Path & "\" & _
                            ThisWorkbook.Name, xlOpenXMLWorkbookMacroEnabled
        Exit For  
      End If  
    End If  
  Next
  Set objShell = Nothing  
End Sub  


mfg Anton
Anzeige
AW: Pfad aus Explorerfenster lesen
12.02.2017 21:35:53
Barbara
Ja, genau so.
Vielen Dank, Anton.
Du hast mir sehr geholfen.
LG,
Barbara

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige