PDA

Vollständige Version anzeigen : Ordner durchsuchen


acerspeedlinkacer
06.09.2011, 16:25
Hallo liebe Excel-Kenner!

Ich bin auf der Suche nach einem Makro, das mit der Windows Explorer Suchfunktion (also wenn man z. B. den Arbeitsplatz öffnet und auf "Suchen" klickt) eine bestimmte Datei sucht. Der Suchbegriff befindet sich in einer Zelle, der Zellinhalt ist aber nur ein Teil des Dateinamens. Bsp: In der Zelle steht die Zahl "123" - die Datei, die gesucht werden soll, heisst: "111_Muster_123".

Ziel ist es, dass ich in der Excel Tabelle die Zelle mit der Nummer anwählen kann, das Makro ausführen und mir die gefundene Datei angezeigt, oder falls möglich gleich geöffnet wird.

Vielen Dank schon Mal im Voraus!

Hasso
06.09.2011, 16:36
Hallo acerspeedlinkacer,

vielleicht hilft dir dieser Link weiter: http://www.xlam.ch/soscq/vbasuchen.htm

acerspeedlinkacer
06.09.2011, 17:03
Hallo Hasso

Danke für die prompte Antwort!

Ich hab mich auf der Seite mal kurz umgeschaut, hab aber leider noch keine Lösung finden können. Liegt vielleicht auch daran, dass ich keine Programmierkenntnisse habe und das wenige, das ich über VBA weiss, hab ich mir selbst angeignet bzw. über Codes aus dem Internet zu Stande gebracht. Für meine Verwendung habe ich allerdings bis jetzt keinen entsprechenden Code gefunden, hab schon den ganzen Tag gesucht und auch mit Abänderungen versucht, etwas hinzukriegen - leider erfolglos.

Falls Du oder sonst jemand einen Code posten könnte, wäre das natürlich super.

Ich bin für alle Lösungshilfen dankbar!

Hasso
06.09.2011, 17:11
Hallo acerspeedlinkacer,

bevor ich mich da reinknie: Soll die Suche über die gesamten Laufwerke gehen oder kannst du sie auf eines oder mehrere Verzeichnisse eingrenzen?

acerspeedlinkacer
06.09.2011, 18:44
Hi Hasso

Die Suche soll in einem bestimmten Ordner stattfinden. Dieser Ordner enthält allerdings mehrere Unterordner.

Vielen Dank!

acerspeedlinkacer
08.09.2011, 10:59
Hallo liebe Excel Kenner

Ich suche immernoch verzweifelt nach einer Lösung für mein Problem. Wüsste jemand eine Antwort, wenn der Dateiname exakt mit dem Inhalt der Zelle übereinstimmen würde? Das ganze kann natürlich auch über eine InputBox gehen...hab selber mal mit Hilfe des Internets und dem Aufzeichnen eines Makros etwas zusammengestellt, allerdings kommt da die Fehlermeldung: Laufzeitfehler '9' Index ausserhalb des gültigen Bereichs.

Bin für jede Hilfe dankbar!!

Hier der Code:

Sub Makro1()
'
' Makro1 Makro
'
Dateiname = InputBox("Rechnungsnummer eingeben", "Datei öffnen", ActiveCell & ".pdf")

'
ActiveSheet.Hyperlinks.Add Anchor:=Range("A1"), Address:= _
"C:\Dokumente und Einstellungen\\Desktop\&Dateiname", _
TextToDisplay:= _
Dateiname
Selection.Hyperlinks(1).Follow NewWindow:=True, AddHistory:=True
End Sub

Hasso
08.09.2011, 11:30
Hallo acerspeedlinkacer,

ändere mal deinen Code:
Sub Makro1()
'
' Makro1 Makro
'
Dateiname = InputBox("Rechnungsnummer eingeben", "Datei öffnen", ActiveCell & ".pdf")

'
ActiveSheet.Hyperlinks.Add Anchor:=Range("A1"), Address:= _
"C:\Dokumente und Einstellungen\\Desktop\" & Dateiname, _
TextToDisplay:= _
Dateiname
Selection.Hyperlinks(1).Follow NewWindow:=True, AddHistory:=True
End Sub

acerspeedlinkacer
08.09.2011, 11:42
Hi Hasso

Danke für die schnelle Antwort! So funktioniert es prima! Hab noch ein Makro gefunden, dass das ganze ohne Umwege über einen Hyperlink macht:

Dateiname = InputBox("Rechnungsnummer eingeben", "Datei öffnen", ActiveCell & ".pdf")
Dim s
Set s = CreateObject("shell.application")
If s.Open("C:\Dokumente und Einstellungen\Desktop\" & Dateiname)


Ist es irgendwie möglich, wenn keine Datei geöffnet wurde (da nicht vorhanden), eine Meldung zu erhalten, dass keine Datei gefunden wurde?

Hasso
08.09.2011, 12:06
So:
Sub Makro1()
'
Dim Dateiname As String, Pfad As String
Dim s
Dateiname = InputBox("Rechnungsnummer eingeben", "Datei öffnen", ActiveCell & ".pdf")
Pfad = "C:\Dokumente und Einstellungen\hhe\Desktop\" & Dateiname
If Len(Dir(Pfad)) > 0 Then
Set s = CreateObject("shell.application")
s.Open ("C:\Dokumente und Einstellungen\hhe\Desktop\" & Dateiname)
Else
MsgBox "Die Datei " & Pfad & " wurde nicht gefunden"
End If
End Sub

acerspeedlinkacer
08.09.2011, 13:15
Passt perfekt! :) Herzlichen Dank!!