Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Windowssuche, Ergebnise in listbox
#11
Hm... der Admin wird mich bestimmt umbringen, wir haben kaum rechte am PC, das meiste ist eh gesperrt...  IE Optionen, Systemsteuerung.... 
Es wird nichts lokal gespeichert, alles Server-Pfaden.

Also  zu hause funzt es echt gut, habe jetzt Urlaub, werde erst nächste Woche  bei der arbeit ausprobieren, blöd auch das man die Indizierung an allen Rechner vornehmen muss.
-----
Die Idee von schauan ist auch gut, aber ich bekomme es nicht am laufen

lg perostojkov
Antworten Top
#12
Zitat:ADO SQL Windows Suche....
 
Hallo ich teste gerade zuhause und habe meine Datei mit dem Code von oben geändert.

1. Die Suche funktioniert gut, wenn das gesuchte Wort sich in eine txt oder pdf Datei befindet, xls werden nicht gefunden, was soll ich ändern?
2. Wenn eine gefundene Datei aus der Listbox angeklickt und geöffnet wird, kann ich nichts machen solange die Userform geöffnet ist. 
   Da soll man wahrscheinlich mit neue Excel Instanz starten, weiß aber auch nicht wie

als Anhang die neue Datei 
[attachment=20269]

Gruß perostojkov
Antworten Top
#13
Scheint CP zu sein
https://www.ms-office-forum.net/forum/sh...p?t=354985
Antworten Top
#14
SORRY dass ich CP gemacht habe, es war blöd von mir... mache ich nie wieder

Ich habe eine Lösung im Internet gefunden :19: 
https://github.com/JoshuaFlynn/Searcher

Zuhause mit Office 2016 funzt es gut wenn der Verzeichnis sich unterhalb C:\Users\ich befindet.
Eine ebene höher kommt das "Laufzeitfehler 70: Zugriff verweigert"  Finde ich aber nicht schlimm.
Ich habe nicht viele Dateien auf dem Rechner, die Suche ging deswegen ganz schnell.

Eigentlich für die Arbeit brauche ich die Suche, da haben wir excel 2003 mit Serverspeicher und  excel ist mir 2x abgestürzt, hab mich nicht getraut weiter zu testen, Schade  :22:

Die obengenannte Datei war mir etwas zu komplex aufgebaut und ich habe es versucht sie etwas schlanker zu machen.

Sie macht jetzt genau das was  ich ursprunglich wollte: Sie sucht in Exceldateien nach Begriffe, listet die Dateien auf und mit Klick auf die gefundene Datei kann man sie öffnen.
Jetzt fällt nur noch der Fortschrittsbalken. Irgendwann werde ich versuchen meine ursprungliche Datei anpassen.

Hier als Anhang meine Datei falls jemand Intreresse hat sie zu testen
[attachment=20450]

Gruß perostojkov
Antworten Top
#15
Hi,

mit Excel > 2003 ist es ratsam, die neuen Formate XLSX (ohne Makros), XLSM oder XLSB (je mit Makros) zu benutzen, wobei ich xlsb bevorzuge.

Für Fortschrittsbalken benötigt Excel irgendeine Zahl, an der der Fortschritt der Aktion gemessen werden kann. Also eine eine Max-Zahl, um den aktuellen Stand im Vergleich zur Gesamtzahl der Aktionen zu berechnen.
Dies könnte die Zahl von zu durchsuchenden Zellen oder die Anzahl der zu durchsuchenden Dateien oder sonst eine Zahl sein, die irgendwie mit der Anzahl der zu bearbeitenden Aktionen korreliert.

Da die Maximal-Zahl bei den meisten meiner Excel-Themen nicht quantifizierbar ist, muß ich den Balken dann immer weglassen.
Antworten Top
#16
Hallöchen,

hier mal ein kleines Makro, mit dem Du die Anzahl bestimmter Dateien ermitteln kannst:

Code:
Sub CoF()
'Variablendeklarationen
Dim wsh As Object
Dim waitOnReturn As Boolean: waitOnReturn = True
Dim windowStyle As Integer: windowStyle = 7
' Fenster: 1 normal 3 maximiert 7 minimiert
Dim strLW As String, strFol As String, strFil As String
Dim strCmd As String, strCoFi As String
Dim iFree As Integer
'Laufwer, Verzeichnis und Filter festlegen
strLW = "G:\": strFol = "\Excel": strFil = "*.xls"
'Kommandozeile zusammensetzen
'Ausgabe erfolgt in die Datei tmp im Verzeichnis
strCmd = strLW & " && cd " & strFol & " && dir /b " & strFil & " /s 2> nul | find """" /v /c > tmp && set /p count=<tmp"
'wsh setzen
Set wsh = VBA.CreateObject("WScript.Shell")
'cmd ausf?hren
wsh.Run "cmd.exe /S /C " & strCmd, windowStyle, waitOnReturn
'Filenummer zum oeffnen ermitteln
iFree = FreeFile
'tmp - Datei oeffnen
Open "G:Excel\tmp" For Input As iFree
'Zeile mit Anzahl einlesen
Line Input #1, strCoFi
'tmp - Datei schliessen
Close #1
'Meldung ausgeben
MsgBox strCoFi
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#17
Hallo

Zitat:mit Excel > 2003 ist es ratsam, die neuen Formate XLSX (ohne Makros), XLSM oder XLSB (je mit Makros) zu benutzen, wobei ich xlsb bevorzuge
   Ich weiß, leider 2003.
   Bin froh dass wir kein excel 97 mehr haben. Angeblich sind die Firmenlizenzen soooo teuer, einige PCs laufen mit Open Office, immer wieder Konflikte  :60:  





Leider bin ich nicht so vba begabt und konnte mit schauns code wieder nichts anfangen.
Ich hab aber nicht aufgegeben und habe weiter ohne CP gesucht. 
Hier bin ich endlich findig geworden bzw das Code hat bei mir funktioniert

http://www.office-loesung.de/ftopic584393_0_0_asc.php  


Das Code in meiner Datei eingefügt, etwas rumgespielt und jetzt funktioniert es, wie ich es mir am Anfang mit Fortschrittsbalken vorgestellt habe. Bin stolz wie Oskar  :19:

Werde mich freuen wenn jemand die Datei mit eine schnellere Suchmethode überarbeiten würde.

Hier als Anhang, falls jemand sie ansehen möchte
[attachment=20812]


Ich Danke euch allen, von mir aus kann es als erledigt markiert werden

Gruß perostojkov
Antworten Top
#18
Hi,

(16.11.2018, 21:14)perostojkov schrieb:    Ich weiß, leider 2003.
   Bin froh dass wir kein excel 97 mehr haben. Angeblich sind die Firmenlizenzen soooo teuer, einige PCs laufen mit Open Office, immer wieder Konflikte  :60:  

ach so, Du hast in Deinem Profil halt 2016 stehen.


Wir stellen momentan auf Office365 um, das kostet pro User und Jahr ca. 100 € (wenn ich es richtig mitbekommen habe), kann für die User unterschiedlich konfigurierrt werden (in diversen Ausstattungen) und kann auf jeweils 5 Geräten installiert werden inkl. 1 TB OneDrive-Speicher pro User. Dazu kommt noch die Sharepoint-Cloud mit mir unbekannter Größe.


PS:
Ergebnis (Singular, Einzahl)
Ergebnisse (Plural, Mehrzahl)
Antworten Top
#19
Hallo perostojkov, :19:

es ist immer problematisch, wenn Du zu Hause Office 2016 hast und dann etwas programmieren möchtest, was im Geschäft auf urzeitlichen Versionen laufen soll. Wenn dann noch OO oder LO ins Spiel kommen geht der Spaß erst richtig los (ganz abgesehen von Office auf dem Mac). :21:

Das "FileSystemObject" ist eine Möglichkeit von vielen um Dateien zu finden bzw. aufzulisten und auszulesen - allerdings nur, wenn man nicht sehr große Platten mit einer tiefen Verzeichnisstruktur durchsuchen muss. In dem Fall würde ich eher die API-Variante nehmen - die ist deutlich schneller. Oder eben das gute alte DOS.

In dem Link von dir sind doch Alternativen. Probiere die mal aus. :21:

Ein "Fortschrittsbalken" ist schön anzusehen, verlangsamt aber den Code sehr. Ich habe die Teile am Anfang auch immer genutzt, weil es nett anzusehen ist. Die Statusleiste war mir immer zu "unauffällig". Heute nutze ich ein "extra Tabellenblatt" mit einem entsprechenden Hinweis.
________
Servus
Case
Antworten Top
#20
Hallöchen,

also, mein Code muss auf jeden Fall in 2003 funktionieren und könnte eventuell auch in 97 schon gehen.

Eventuell änderst Du Laufwerk und Verzeichnis am Anfang des codes. Deine Dateien stehen ja bestimmt nicht wie bei mir in G:\Excel.
--> dort:
'Laufwerk, Verzeichnis und Filter festlegen
strLW = "G:\": strFol = "\Excel": strFil = "*.xls"

Beim strLW reicht übrigens auch G: bzw. Dein Laufwerk. Der \ stört hier aber nicht Smile


Eine kleine Korrektur weiter unten wäre auch nicht verkehrt, die Variablen sind nicht durchgängig gesetzt:

Ersetze
Open "G:Excel\tmp" For Input As iFree
durch
Open strlw & strFol & "\tmp" For Input As iFree

Ansonsten müsstest Du Laufwerk und Verzeichnis da unten nochmal eintragen.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste