Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1724to1728
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

Code erweitern

Code erweitern
06.12.2019 11:00:38
Frank
Hallo zusammen,
ich habe hier im Forum diesen Code gefunden. Er öffnet den letzt gespeicherten Ordner unter dem Pfad
L:\Fuhrpark\Verladung.
Meine Frage wäre nun, kann man ihn so erweitern dass er mir darin die Datei Test.xls öffnet?
Sub LetztenUnterOrdnerOeffnen2()
'03.11.2008, NoNet
'https://www.herber.de/forum
Dim objFSO, objOrdner, objSubFolder
Dim strBasisordner As String, strLetzterOrdner As String, datLtzDatum As Date
strBasisordner = "L:\Fuhrpark\Verladung" 'Dieser Ordner soll durchsucht werden
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objOrdner = objFSO.GetFolder(strBasisordner)
Set objSubFolder = objOrdner.subfolders
MsgBox objSubFolder.Count & " Unterordner gefunden !"
'Zuletzt erstellten Unterordner ermitteln - ist evtl. auch nch anders möglich !?!?
For Each objOrdner In objSubFolder
If objOrdner.datecreated > datLtzDatum Then
strLetzterOrdner = objOrdner.Name
datLtzDatum = objOrdner.datecreated
End If
Next
'MsgBox strBasisordner & "\" & strLetzterOrdner, , "Letzter Ordner :"
Shell ("Explorer.exe " & strBasisordner & "\" & strLetzterOrdner) 'mit Explorer öffnen
End Sub

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code erweitern
06.12.2019 12:49:37
fcs
Hallo Frank,
sollte mit den folgenden Anpassungen funktionieren (ungetetstet)
LG
Franz
Sub LetztenUnterOrdnerOeffnen2()
'03.11.2008, NoNet
'https://www.herber.de/forum
Dim objFSO, objOrdner, objSubFolder
Dim strBasisordner As String, strLetzterOrdner As String, datLtzDatum As Date
Dim sOrdner As String
strBasisordner = "L:\Fuhrpark\Verladung" 'Dieser Ordner soll durchsucht werden
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objOrdner = objFSO.GetFolder(strBasisordner)
Set objSubFolder = objOrdner.subfolders
MsgBox objSubFolder.Count & " Unterordner gefunden !"
'Zuletzt erstellten Unterordner ermitteln - ist evtl. auch nch anders möglich !?!?
For Each objOrdner In objSubFolder
If objOrdner.datecreated > datLtzDatum Then
strLetzterOrdner = objOrdner.Name
datLtzDatum = objOrdner.datecreated
End If
Next
sOrdner = strBasisordner & "\" & strLetzterOrdner
If Dir(sOrdner & "\" & "Test.xls")  "" Then
Application.Workbooks.Open Filename:=sOrdner & "\" & "Test.xls"
Else
MsgBox "Datei ""Test.xls"" im Ordner " & sOrdner & " nicht vorhanden!"
End If
'MsgBox strBasisordner & "\" & strLetzterOrdner, , "Letzter Ordner :"
'Shell ("Explorer.exe " & strBasisordner & "\" & strLetzterOrdner) 'mit Explorer öffnen
End Sub

Anzeige
AW: Code erweitern
06.12.2019 12:56:22
UweD
Hallo
so?

Sub LetztenUnterOrdnerOeffnen2()
'03.11.2008, NoNet
'https://www.herber.de/forum
Dim objFSO, objOrdner, objSubFolder
Dim strBasisordner As String, strLetzterOrdner As String, datLtzDatum As Date, strDatei As  _
String, strAll As String
strBasisordner = "X:\Temp" 'Dieser Ordner soll durchsucht werden
strDatei = "Test.xls"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objOrdner = objFSO.GetFolder(strBasisordner)
Set objSubFolder = objOrdner.subfolders
MsgBox objSubFolder.Count & " Unterordner gefunden !"
'Zuletzt erstellten Unterordner ermitteln - ist evtl. auch nch anders möglich !?!?
For Each objOrdner In objSubFolder
If objOrdner.datecreated > datLtzDatum Then
strLetzterOrdner = objOrdner.Name
datLtzDatum = objOrdner.datecreated
End If
Next
strAll = strBasisordner & "\" & strLetzterOrdner
MsgBox strAll, , "Letzter Ordner :"
Shell ("Explorer.exe " & strAll) 'mit Explorer öffnen
strAll = strAll & "\" & strDatei
If Dir(strAll)  "" Then
Workbooks.Open Filename:=strAll
Else
MsgBox strDatei & " existiert nicht"
End If
End Sub

LG UweD
Anzeige
AW: Code erweitern
06.12.2019 13:27:13
Frank
Hallo Franz, hallo Uwe,
euere Änderungen laufen beide prima. Ich danke euch für die rasche Hilfe und wünsche ein schönes Wochenende.
Gruß Frank
AW: Code erweitern
06.12.2019 15:03:59
Frank
Hallo nochmal,
jetzt habe ich doch noch eine Frage. Kann man bei der Test.xls auch mit einem Platzhalter arbeiten?
Die Datei wir manchmal mit einem Datum abgespeichert. Etwa so Test 08.12.xls
Bei diesem Code ging das.
strDatei = Dir(strPfad & "Test*.xls") 'beachte Platzhalter *
If strDatei "" Then
Workbooks.Open strPfad & strDatei
Else
MsgBox "nix da"
If myFile = False Then End
End If
End Sub
Anzeige
AW: Code erweitern
06.12.2019 15:49:49
fcs
Hallo Frank,
das kannst du hier genauso einbauen. Es darf aber im Ordner nur eine Excel-Datei vorkommen, deren Name mit "Test" beginnt, sonst wird ggf. eine falsche datei geöffnet.
LG
Franz
    sOrdner = strBasisordner & "\" & strLetzterOrdner
strDatei = Dir(sOrdner & "\" & "Test*.xls")
If strDatei  "" Then
Application.Workbooks.Open Filename:=sOrdner & "\" & strDatei
Else
MsgBox "Datei ""Test*.xls"" im Ordner " & sOrdner & " nicht vorhanden!"
End If

AW: Code erweitern
06.12.2019 16:16:53
Frank
Hallo Franz,
es läuft prima. Herzlich Dank nochmals für deine Hilfe.
LG Frank
Anzeige
AW: Code erweitern
06.12.2019 18:57:48
Frank
Und nochmal hallo in die Runde,
kann man den Ordner auch wieder automatisch schliessen wenn die Datei geöffnet ist?
Der bleibt nämlich auf und wenn man das Makro öfters ausführt ist nachher der Ordner mehrfach geöffnet.
Vielen Dank.
LG Frank
AW: Code erweitern
09.12.2019 09:49:35
fcs
Hallo Frank,
zum öffner der Datei muss du den Ordner im Explorer niht öffnen.
Du kannst die Zeile
        Shell ("Explorer.exe " & strAll) 'mit Explorer öffnen
Also auch weglassen.
Zum Schliessen des geöffneten Explorer-Fensters hab ich leider keine Idee.
LG
Franz
Anzeige
AW: Code erweitern
09.12.2019 18:24:57
Frank
Hallo Franz,
vielen Dank für deine Hilfe.
Ich werde noch ein wenig suchen. :-)
LG Frank

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige