Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

Explorer schliessen wenn datei geoeffnet | Herbers Excel-Forum


Betrifft: Explorer schliessen wenn datei geoeffnet von: Rolandx
Geschrieben am: 20.08.2012 15:48:11

Hallo Zusammen,

hab mal wieder ein kleines Problem(chen).
Ich muss in mehreren Tausend stromkereise die vorgaben mit den daten einer excel-datei vergleichen und auswerten. die vorgaben sind auf dem server in einer pdf-datei gespeichert. da die suche nach den dateien etwas verwirrend ist suche ich mir per makro den jeweiligen folder in dem ich die pdf-datei finden muesste. wenn der folder vorhanden ist oeffnet mir das makro den explorer mit dem zugehoerigen folder. nun wird der explorer aber nicht automatisch geschlossen sondern bei jeder suche ein neuer geoeffnet so dass ich dann den explorer zigmal geoefnet habe.

wie kann ich den explorer automatisch schliessen sobald ich per doppelklick auf eine datei diese oeffne ?????

hier der schluss des makros auf das sich das problem bezieht.

If CBool(Len(Dir(SearchFolder & "\" & FAT, vbDirectory)) > 0) = True Then
SearchFolder = SearchFolder & FAT


' search for the folder where the ToolLife exists
Directory_Tree_Tool_Package SearchFolder ' Macro to search for the ToolLife-Folder

If Error70 = True Then
Error70 = False
MsgBox "FOLDER " & vbLf & SearchFolder & vbLf & " NOT FOUND"
End If

If FoundFolder <> "" Then
Shell "Explorer " & SearchFolder & "\" & FoundFolder, vbMaximizedFocus

' if the folder was not found then write into the file that the folder was not found

ElseIf FoundFolder = "" Then
Line = ChoosenCell(1).Row
Do While Range("I" & Line) = Tool
Range("O" & Line & ":P" & Line).Value = "No Package Found"
Line = Line + 1
Loop
End If
End If

End Sub

Waere nett wenn mir hier jemand helfen koennte.

Danke und schoenen Feierabend an Euch Alle.

  

Betrifft: keine Idee, aber anderer Vorschlag von: Tino
Geschrieben am: 20.08.2012 18:10:14

Hallo,
kann jetzt nicht sagen wie man Windows sagen kann jetzt ist die Datei offen
ich brauch den Win-Explorer nicht mehr?!

Einen Vorschlag kann ich aber unterbreiten!
Lese den Ordner in eine Listbox ein (auf Userform oder auf der Tabelle).
Mit doppelklick in der Liste öffnet sich die Datei und der Dialog wird geschlossen.

Hier ein Beispiel.
https://www.herber.de/bbs/user/81492.xls

Gruß Tino


  

Betrifft: AW: keine Idee, aber anderer Vorschlag von: Rolandx
Geschrieben am: 21.08.2012 08:10:30

Hallo Tino,

vielen Dank fuer Deinen Vorschlag. Das ist doch recht komplex und fuer mich noch nicht verstaendlich. So weit bin ich noch nicht. Hab leider nicht die Zeit mich jetzt damit zu befassen da mein Chef etwas ungeduldig ist und Resultate sehen moechte.
Ich werde mir das mal in Ruhe reinziehen sobald ich etwas mehr Zeit habe....vielleicht auch mal zu Hause aber auch da ist es etwas stressig da wir gerade umgezogen sind. Aber ich werde das auf keinen Fall links liegen lassen da es doch recht interessant aussieht.

Also nochmals Danke und schoenen Tag noch.

Roland


  

Betrifft: Explorer schliessen wenn datei geoeffnet von: Anton
Geschrieben am: 20.08.2012 18:39:07

Hallo Roland,

so vllt:


Private Declare Function SetForegroundWindow Lib "user32" _
  (ByVal hwnd As Long) As Long

Sub b()
  Dim objShell As Object, win As Object
  Dim gefunden As Boolean
  Dim adresse As String
  adresse = "E:\temp" 'anpassen
  gefunden = False
  Set objShell = CreateObject("Shell.Application")
  For Each win In objShell.Windows
    If InStr(1, UCase(win.FullName), "EXPLORER") > 0 Then
      gefunden = True
      If InStr(1, UCase(win.LocationName), UCase(adresse)) = 0 Then
        win.navigate adresse
        SetForegroundWindow (win.hwnd)
        Exit For
      End If
    End If
  Next
  If gefunden = False Then objShell.explore (adresse)
  Set objShell = Nothing
End Sub

mfg Anton


  

Betrifft: AW: Explorer schliessen wenn datei geoeffnet von: Rolandx
Geschrieben am: 21.08.2012 08:00:59

Danke Anton,

vielen Dank fuer Deine Hilfe. Das scheint mir auf den ersten Blick einfacher als die Loesung von Tino aber verstehen tu ich das auch nicht. Wie und wann rufe ich dies Function eigentlich auf ?

Werde mich mal in den naechsten Tage abends zu Hause hinsetzen wenn ich mal dazu komme und versuchen das zu verstehen. Wenn ich Probleme damit habe melde ich mich nochmal (wenn es Dir nichts ausmacht).

Also vielen Dank und schoenen Tag noch.

Roland


Beiträge aus den Excel-Beispielen zum Thema "Explorer schliessen wenn datei geoeffnet"