Unbekannte Datei öffnen

maass

Grünschnabel
Guten Morgen!

Also ich möchte eine *.exe datei öffnen lassen.Das mache ich mit der Shell Funktion!
Ich gebe den Ordner an in der die EXE Datei zu finden ist,jetzt kommt das Problem, ICH KENNE DEN NAMEN DER EXE DATEI NICHT!
( Es befindet sich aber nur diese eine EXE in dem Verzeichnis. )

WIe bekomme ich diese dann geöffnet
 
Vorher Suchen!

Du musst vorher nach der auszuführende .exe-datei suchen lassen.

str_input_path ist dein Verzeichnis in der die *.exe-Datei liegt

str_file_path ist der Pfad der *.exe-Datei (quazi mit name)

Code:
Sub start()


     Dim fs_FileSearch As FileSearch
     Dim str_input_path As String
     Dim str_file_path As String
     str_input_path = "c:\"
     Set fs_FileSearch = Application.FileSearch

        With fs_FileSearch
        .NewSearch
        .LookIn = str_input_path
        .Filename = "*.exe"
        .Execute
        
        
        If .FoundFiles.Count > 0 Then
            str_file_path = .FoundFiles(1)
        Else
        MsgBox "found no file"
        End If
        End With
  
End Sub
 
Hallo ronny,

dann müßte er aber MS die Office 10.0 Objekt Libary einbinden und das setzt
eine Office XP Installation voraus.

Besser wäre mit einer Filelistbox oder mit dem Filesystemobjekt zu schauen
welche Datei(en) in diesem Ordner liegen.
 
OH!

Sorry, habe daran nicht gedacht.
Arbeite zwar mit Office 2000 habe aber die Libary, schon vor einiger zeit manual hinzugefügt.
 
Filesystemobjekt klingt gut (das andere net!)

Hat da vielleicht jemand einen Vorschlag
Damit bin ich es nämlich schon die ganze Zeit am versuchen!

Vielleicht kommt einen ja ne Idee mit dieser Hilfe
Set fso = CreateObject("Scripting.FileSystemObject")

Set Ordner = fso.getFolder(App.Path) 'Folder-Object holen
Set dirs = Ordner.subFolders 'Aufzählung der Unterordner holen

For Each f In dirs 'Aufzählung durchlaufe
If cur = "" Then 'Wenn cur(=current) noch nicht initialisiert wurde erstes Objekt reinschreiben
Set cur = f
End If

If f.dateLastModified > cur.dateLastModified Then 'wenn wir was Neueres gefunden haben alten Eintrag ersetzen.
Set cur = f
End If
Next
Shell cur & "\DB.cmd", vbNormalFocus

End Sub

Damit Suche ich den neusten Ordner (weil der immer anders heist)in einem bestimmten Pfad!
Genau so ist es ja quasi mit meiner exedie heißt auch immer anders

NUR MIR IST DA NOCH KEINE LAUFFÄHIGE IDEE GEKOMMEN
 
Und wenn mans ganz unabhängig von externen Modulen machen will gehts mit der Funktion "Dir" (siehe Hilfe) oder der Windows API.
Dann muss das WSH auch nicht installiert sein.
 

Neue Beiträge

Zurück