Datei über Makro suchen und automatisch öffnen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
InputBox MsgBox


Excel-Version: 8.0 (Office 97)
nach unten

Betrifft: Datei über Makro suchen und automatisch öffnen
von: Pat Beach
Geschrieben am: 16.05.2002 - 14:28:01

Hallo zusammen
Wie kann ich das unten aufgeführte Makro anpassen, das es eine bestimmte Datei sucht, automatisch öffnet. Im weiteren müsste das Makro bei mehreren Dateien mit dem gleichen Namen die Auswahl anzeigen, damit die richtige Datei ausgewählt werden kann.

' Dieses Makro zeigt bei einer gefundenen Datei nur den Pfad an.
' Das Makro sucht in Verzeichnissen mit berücksichtigung von Unterverzeichnissen.
Sub Suchen()
Dim objFileSearch As FileSearch
Dim strVerzeichnis As String, strDatei As String
strVerzeichnis = InputBox("Verzeichnis:", , "t:\s01\dok\")
If strVerzeichnis = "" Then Exit Sub
strDatei = InputBox("Dateiname:", , "test.xls")
If strDatei = "" Then Exit Sub
Set objFileSearch = Application.FileSearch
With objFileSearch
.LookIn = strVerzeichnis
.SearchSubFolders = True
.FileName = strDatei
If .Execute(SortBy:=msoSortByFileName, _
SortOrder:=msoSortOrderAscending) > 0 Then
MsgBox .FoundFiles(1)
Else
MsgBox "Datei wurde nicht gefunden!"
End If
End With
End Sub

Besten Dank im voraus für jede Antwort.
Mit freundlichen Grüssen.

Pat Beach

nach oben   nach unten

Re: Datei über Makro suchen und automatisch öffnen
von: Markus
Geschrieben am: 16.05.2002 - 14:32:00

Schau dir mal die Shell funktion an damit sollte es funktionieren.

Gruss Markus


nach oben   nach unten

Re: Antwort von Markus?
von: Pat Beach
Geschrieben am: 16.05.2002 - 15:11:58

Hallo Markus

Da ich nicht so VBA-Versiert bin, kann ich leider mit der Antwort nicht viel anfangen. Kannst Du mir weiter helfen?

Besten Dank.

Pat


nach oben   nach unten

Re: Datei über Makro suchen und automatisch öffnen
von: Markus
Geschrieben am: 16.05.2002 - 15:35:10

Shell war nicht so ganz richtig. Denn Shell öffnet nur ausführbare Programme(.*exe). Vielleicht kannst Du mit dem Folgenden was anfangen:

Sub Suchen()
Dim sPfad As String
Dim objFileSearch As FileSearch
Dim strVerzeichnis As String, strDatei As String
strVerzeichnis = InputBox("Verzeichnis:", , "t:\s01\dok\")
If strVerzeichnis = "" Then Exit Sub
strDatei = InputBox("Dateiname:", , "test.xls")
If strDatei = "" Then Exit Sub
Set objFileSearch = Application.FileSearch
With objFileSearch
.LookIn = strVerzeichnis
.SearchSubFolders = True
.Filename = strDatei
If .Execute(SortBy:=msoSortByFileName, _
SortOrder:=msoSortOrderAscending) > 0 Then
MsgBox .FoundFiles(1)
sPfad = .FoundFiles(1)
ActiveWorkbook.FollowHyperlink Address:=sPfad, NewWindow:= _
False, AddHistory:=True
Else
MsgBox "Datei wurde nicht gefunden!"
End If
End With
End Sub


Gruss Markus

nach oben   nach unten

Vielleicht eine Lösung
von: Markus
Geschrieben am: 16.05.2002 - 15:37:07

Shell war nicht so ganz richtig. Denn Shell öffnet nur ausführbare Programme(.*exe). Vielleicht kannst Du mit dem Folgenden was anfangen:
Sub Suchen()
Dim sPfad As String
Dim objFileSearch As FileSearch
Dim strVerzeichnis As String, strDatei As String
strVerzeichnis = InputBox("Verzeichnis:", , "t:\s01\dok\")
If strVerzeichnis = "" Then Exit Sub
strDatei = InputBox("Dateiname:", , "test.xls")
If strDatei = "" Then Exit Sub
Set objFileSearch = Application.FileSearch
With objFileSearch
.LookIn = strVerzeichnis
.SearchSubFolders = True
.Filename = strDatei
If .Execute(SortBy:=msoSortByFileName, _
SortOrder:=msoSortOrderAscending) > 0 Then
MsgBox .FoundFiles(1)
sPfad = .FoundFiles(1)
ActiveWorkbook.FollowHyperlink Address:=sPfad, NewWindow:= _
False, AddHistory:=True
Else
MsgBox "Datei wurde nicht gefunden!"
End If
End With
End Sub


Gruss Markus

nach oben   nach unten

Re: Vielleicht eine Lösung
von: Pat Beach
Geschrieben am: 16.05.2002 - 16:33:38

Hallo Andreas

Vielen Dank, die ersten Testversuche haben funktioniert.

Mit freundlichen Grüssen.

Pat


 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Datei über Makro suchen und automatisch öffnen"