04.08.2020, 10:41 (Dieser Beitrag wurde zuletzt bearbeitet: 04.08.2020, 10:43 von icke63.)
Hallo zusammen,
Ich weiß nich recht, ob ich mit der Frage hier richtig bin, aber ich hau sie einfach mal raus ... :19:
Es geht um die Suche nach xls-Datei-Inhalten im Windows-Explorer (Win10). Mit "normalen" Dateien (also meinetwegen ne einfache Liste ohne großen Schnick-Schnack) funktioniert das ja: man gibt in das Explorer-Suchfeld den Suchbegriff ein und die xls-Dateien, in denen dieser Begriff enthalten is, werden angezeigt. So weit, so gut. Jetzt bin ich aber über das Problem gestolpert, dass diese Suche NICHT funktioniert, wenn es sich dabei um xls-Dateien mit Formularcharakter (also gesperrtes Arbeitsblatt und nur bestimmte Zellen beschreibbar und integrierten Makros) handelt. Ist das wirklich generell so oder kann das auch an der "Uralt"-Version meines Excel (2002) liegen?
Ich bräuchte da dringend eine Lösung, denn es handelt sich um Prüfprotokolle, in denen Seriennummern enthalten sind, und wir müssen manchmal nach eben diesen Seriennummern Nachforschungen betreiben und da macht es sich echt umständlich, erst jeden einzelne Datei (bei inzwischen über 60!) zu öffnen ...
04.08.2020, 12:07 (Dieser Beitrag wurde zuletzt bearbeitet: 04.08.2020, 12:08 von maninweb.)
Hallo,
ich schätze mal, dass die Windows Explorer Suche an die Daten nicht dran kommt, da ja in der Excel-Datei gesperrt. Das erscheint mir logisch, da ja sonst etwas gesucht werden könnte, was verborgen sein soll. Der Windows Explorer macht z.B. in der Vorschau ein Excel-Objekt auf. Ähnlich dürfte das möglicherweise die Suche machen.
Von daher würde ich sagen, entweder die Dateien freischalten oder vielleicht eine Excel Datei mit VBA Makros erstellen, die die Dateien öffnet, ggf. entschützt, durchsucht, und schließt.
Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) :: 2011-2019 & 2020-2022 :: 10 Awards https://de.excel-translator.de/translator:: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner
04.08.2020, 12:37 (Dieser Beitrag wurde zuletzt bearbeitet: 04.08.2020, 12:37 von icke63.)
Hi maninweb,
danke mal für deine Antwort :19:
Naja, ganz so logisch erscheint mir das nich, denn die besagten Seriennummern, nach denen ich suchen will, ohne dass ich erst jede Datei öffnen muss, werden ja in den beschreibbaren offenen Formularfeldern eingetragen, die auch nach dem Speichern weiter beschreibbar bleiben und nich gesperrt werden. Ausserdem is mir neu, dass der Explorer Office-Dateien in der Vorschau anzeigen würde. Bei pdf und jpg bekomm ich die, aber eben nich bei doc oder xls ...
Das "... Excel Datei mit VBA Makros erstellen, die die Dateien öffnet, ggf. entschützt, durchsucht, und schließt. ..." is n netter Vorschlag, aber nur für jemand, der sich damit auskennt ... und das trifft auf mich nur sehr bedingt zu :20:
das mit einem Makro zu lösen müsste machbar sein. Was mich betrifft, habe ich aktuell jedoch leider keine Zeit dazu. Vielleicht später, wenn's nicht schnell sein muss. Aber das möge niemand anderes hier im Forum hindern, aktiv zu werden Community Power eben.
Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) :: 2011-2019 & 2020-2022 :: 10 Awards https://de.excel-translator.de/translator:: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner
das mit einem Makro zu lösen müsste machbar sein. Was mich betrifft, habe ich aktuell jedoch leider keine Zeit dazu. Vielleicht später, wenn's nicht schnell sein muss. Aber das möge niemand anderes hier im Forum hindern, aktiv zu werden Community Power eben.
Gruß
vielen Dank für das Angebot
neee, momentan hat´s keine Eile, aber wie du sagtest: ich hab nix dagegen, wenn sich jemand anderes hier im Forum damit befaßt ... :19:
ich weiß nicht, ob nachfolgende Routine den Suchbegriff in den entsprechenden Formularfeldern findet und der code auf Deinem alten Excel funktioniert (sollte es aber). Auf jeden Fall soll das Tool alle Exceldateien in einem Ordner nach einem Suchbegriff durchsuchen und das Ergebnis in Tabelle1 auflisten. Sicherlich noch erweiterbar, auch bzgl. Fehlerabfang und auch nur kurz getestet
Aber probiere es einfach mal aus:
Option Explicit
Sub Suche_in_allen_Dateien() Dim sSuch As String, iOutZeile As Long Dim WkB As Workbook, WSh As Worksheet Dim oRange As Range Dim sFirstAddress As String Dim sPathname As String, sFilename As String
sPathname = "C:\Users\voltm\Desktop\" '<<<anpassen>>> sFilename = Dir(sPathname & "*.xls*") 'Nur Excel-Dateien ggf. anpassen sSuch = InputBox("Suchbegriff eingeben") If StrPtr(sSuch) = 0 Then Exit Sub If sSuch = "" Then Exit Sub
iOutZeile = 2 With ThisWorkbook.Sheets("Tabelle1") .Cells.ClearContents .Cells(1, "A").Value = "Mappe" .Cells(1, "B").Value = "Tabelle" .Cells(1, "C").Value = "Zelle" .Cells(2, "A").Value = "Suchbegriff '" & sSuch & "' wurde nicht gefunden!" End With
'Alle Dateien entsprechend der Dir-Maske im Pfad durchgehen With Application .ScreenUpdating = False .EnableEvents = False .Calculation = xlCalculationManual End With
Do While sFilename <> "" Set WkB = GetObject(PathName:=sPathname & sFilename) If Not WkB Is Nothing Then
Application.StatusBar = WkB.Name & " wird gerade durchsucht" For Each WSh In WkB.Worksheets
Sub Suche_in_allen_Dateien() Dim sSuch As String, iOutZeile As Long Dim iAnz As Integer, iWie As Integer Dim WkB As Workbook, WSh As Worksheet Dim oRange As Range Dim sFirstAddress As String Dim sPathname As String, sFilename As String
05.08.2020, 09:26 (Dieser Beitrag wurde zuletzt bearbeitet: 05.08.2020, 10:03 von icke63.)
(05.08.2020, 08:52)icke63 schrieb: @Volti
guten Morgen und vielen Dank ... ich werd´s gleich mal ausprobieren
Grüße
hhhmmm ...
egal ob ich in nen Begriff eingeb, der in einer Datei mit definitiv nicht gesperrten oder in einer Datei mit gesperrten Feldern enthalten ist (ich hab natürlich vorher geschaut, welche Suchbegriffe enthalten sein können und das Suchverzeichnis geändert :19:), das Ergebnis is bis jetze immer:
Siehe Anhang!
oder ähnlich halt ... je nach Begriff (egal ob Wort oder Zahl) ich würde mal sagen "irgendetwas stimmt da nicht" ... wobei ich ja sehe, dass Makro als solches tut seineen Job, meckert nich rum oder spuckt irgendwelche kryptischen Fehlermeldungen aus ... :20: wird´s wohl an mir liegen, dass ich da irgendwas verkehrt mache ...
Ja, das Bildchen zeigt die Startparameter. Zelle A2 würde bei Fund des Suchbegriffs mit den entsprechenden Daten überschrieben werden.
Ohne die wirklichen Dateien usw. ist es schwierig irgendwas dazu zu sagen. Da bleibt eigentlich nur, mal im Einzelschritt eine Datei durchlaufen zu lassen. In der Statusbar werden die bearbeiteten Dateien angezeigt. Erste Prüfung: Werden da alle Dateien angezeigt. Zweite Prüfung: Wird Datei geöffnet und kommt der code beim Punt Find an.... Dritte Prüfung: Durchsucht werden die Sheets, nicht irgendwelche Userforms...
Lade doch mal eine von den zu durchsuchenden Dateien hier hoch, dann kann man da mal schauen.