77575
Goto Top

vb script - CSV od. xls datei auslesen und Daten anzeigen

hallo,

ich suche schon ein paar tage nach anregungen, bin aber bisher noch nicht fündig geworten.
vielleicht gibt's hier anregungen, ich denke mal das VBscript das richtige f. mein vorhaben ist. ich bin allerdings kein entwickler, eher ein bastler der sich beispielscripte anschaut und dann sein glück versucht.

hier mein problem bzw. was ich erreichen möchte.

habe eine csv datei oder xls datei mit daten, wobei jeweils eine zeile als kompletter datensatz anzusehen ist.
diese daten möchte ich nach einem begriff durchsuchen und das ergebnis anzeigen lassen.
wenn der begriff mehrfach vorkommt möchte ich im ergebnis den entsprechenden datensatz auswählen und dann diesen anzeigen lassen.

Besipiel meiner CSV datei:
Vorname,Nachname,PC-Name,Inventar,Arbeistspeicher,Festplatte,Grafikkarte,sonstiges
Max,Mustermann,HeimPC,pc0001,1024MB,120GB,ATI Blah 5000,Notiz Test Blah
Susi,Sorglos,HeimPC02,pc0003,1024MB,120GB,ATI Blah 5000,Test Test : Notiz Test Blah
Rudi,Müller,HeimPC,pc00045,512MB,80GB,ATI 3000,Testnotiz feste IP
Max,Mustermann,OfficePC,pc0006,2048MB,500GB,ATI 8000,Büro im Erdgeschoss

das ist nur ein beispiel. meine csv datei enthält noch mehr spalten.
oder gibt es vielleicht eine applikation die diese anforderungen erledigt.
die daten selbst pflege ich in excel, also bearbeitet werden muss nichts per vb script.

gruss 01

Content-Key: 113951

Url: https://administrator.de/contentid/113951

Printed on: April 25, 2024 at 05:04 o'clock

Mitglied: 60730
60730 Apr 15, 2009 at 17:40:19 (UTC)
Goto Top
Servus,

Excel und ein Makro, das "F3" benutzt? - oder ohne Makro gleich auf F3 drücken?

Gruß
Mitglied: 77559
77559 Apr 15, 2009 at 17:41:38 (UTC)
Goto Top
Gehen tut es mit VBA, VBS, in Excel mit Filtern, mit Batch etc.
Die Frage ist halt wo ist der geringste Aufwand.
Suchst du deinen Begriff in allen Spalten oder nur in einer Bestimmten?
Wie soll die Anzeige/auswahl erfolgen?

Gruß
Mitglied: 77575
77575 Apr 15, 2009 at 17:47:01 (UTC)
Goto Top
Super Tipp. und das ergebniss ist sehr übersichtlich wenn man 15 oder mehr spalten hatm, und dann auf einem 24 zoll tft die ganze zeile entlang hangeln musst.
vielleicht hast du nicht verstanden was ich erreichen will.
die daten stehen in einer excel oder csv datei und ich will z. bsp. wissen welchen rechner oder welche rechner der herr mustermann hat und wie dieser rechner ausgestattet ist. und jetzt stell dir vor du gibst den namen mustermann als suche an und bekommst dann eine auswahl der 2 ider 3 rechner die der herr mustermann hat und suchst dir den entsprechenden rechner aus und bekommst eine übersichtliche seite angezeigt wo du sofort alle daten siehst.
bei deiner variante brauche ich kein csv oder excel, da kann ich auch ne txt datei nehmen und suche mir dann mühsamen alles zusammen.
Mitglied: 77575
77575 Apr 15, 2009 at 17:51:02 (UTC)
Goto Top
hi,
optimal wäre es wenn man in allen spalten suchen kann. es kann sein das ich nicht den namen suche sondern die inventar nummer oder die MAC adresse des rec hners und ich will dann wissen wesen rechner das ist.
mit excel kenn ich überhaupt nich aus. da reicht mein wissen um daten einzutippen.
die anzeige sollte einfach eine seite (gui) sein, die in tabellenform die daten des selektierten rechners anzeigt.

ursprünglich war meine idee das ganze als HTA applikation zu machen, aber vbs datei reicht mir auch.
gruss
Mitglied: 77559
77559 Apr 15, 2009 at 18:24:31 (UTC)
Goto Top
Zitat von @77575:

die anzeige sollte einfach eine seite (gui) sein, die in tabellenform
die daten des selektierten rechners anzeigt.

Dann nimm einen Autofilter und wenn du eine Zeile hast geh in die Datenmaske.

ursprünglich war meine idee das ganze als HTA applikation zu
machen, aber vbs datei reicht mir auch.
Naja vbs kann nur einzelne Dialoge/Boxen anzeigen keine Formulare. Aber der Aufwand per HTA und
manuell erstelltem Formular ist IMO etwas übersimensionert.

Gruß
Mitglied: 60730
60730 Apr 15, 2009 at 18:26:06 (UTC)
Goto Top
Zitat von @77575:
Super Tipp. und das ergebniss ist sehr übersichtlich wenn man 15
oder mehr spalten hatm, und dann auf einem 24 zoll tft die ganze zeile
entlang hangeln musst.

Servus,

Bitte nicht so pampig....

vielleicht hast du nicht verstanden was ich erreichen will.

Ich glaube leider doch...
ich bin allerdings kein entwickler
ursprünglich war meine idee das ganze als HTA applikation (für Lau oder Low)zu machen (lassen), aber vbs datei reicht mir auch.
mit excel kenn ich überhaupt nich aus. da reicht mein wissen um daten einzutippen.

Nee sorry - bei P wie Pampig und U wie für Umme - ist bei dem Wetter nicht mein Bereich face-wink

Ansonsten darfs du gerne mal in meinen Anleitung stöbern - das Rad mußt du nicht neu erfinden (lassen).

Gruß
Mitglied: 77575
77575 Apr 15, 2009 at 18:41:03 (UTC)
Goto Top
Zitat von @77559:
>
Dann nimm einen Autofilter und wenn du eine Zeile hast geh in die
Datenmaske.

face-wink bahnhof. was Autofilter ? Datenmaske?
ich vermute das das excel funktionen sind.



> ursprünglich war meine idee das ganze als HTA applikation
zu
> machen, aber vbs datei reicht mir auch.
Naja vbs kann nur einzelne Dialoge/Boxen anzeigen keine Formulare.
Aber der Aufwand per HTA und
manuell erstelltem Formular ist IMO etwas übersimensionert.


nach meinem verständiss basieren HTA applikationen auf scriptsprachen wie vb script. so das der aufwand nicht wirklich sehr viel größer sein sollte, f. jemanden der sich damit auskennt. und da liegt der hund begraben.ich kenne mich zuwenig damit aus und bin kein programmierer.
wahrscheinlich werde ich mir eine textdatei basteln in die ich alles formatiert reinschreibe und wenn ich was suche einfach in der textdatei suchen.
ne vbs /hta wäre halt etwas schicker gewesen.

gruss
Mitglied: 77559
77559 Apr 15, 2009 at 19:11:17 (UTC)
Goto Top
Zitat von @77575:
face-wink bahnhof. was Autofilter ? Datenmaske?
ich vermute das das excel funktionen sind.

Richtig, wenn die Daten in Excel liegen warum in die Ferne schweifen. Die aktuellen Excel-Versoinen hab ich zwar zugunsten OOo links liegen lassen, aber den Autofilter sollte es noch geben. Wenn du den aktivierst bekommst in der Kopfzeile deiner Tabelle DropDownListen mit denen du Vorgaben machen kannst was angezeigt wird (jeweils Elemnete der Spalte) Im Menu Daten gibt es ein Punkt Maske der die Daten der aktuellen Zeile als Tabelle übersichtlich untereinander auflistet. Und das wolltest du doch wenn ich Dich richtig verstanden habe?

nach meinem verständiss basieren HTA applikationen auf
scriptsprachen wie vb script. so das der aufwand nicht wirklich sehr
viel größer sein sollte, f. jemanden der sich damit
auskennt. und da liegt der hund begraben.ich kenne mich zuwenig damit
aus und bin kein programmierer.
Wenn Andere das machen (können/wollen) ist der eigene Aufwand gering face-wink

wahrscheinlich werde ich mir eine textdatei basteln in die ich alles
formatiert reinschreibe und wenn ich was suche einfach in der
textdatei suchen.
ne vbs /hta wäre halt etwas schicker gewesen.
Nee, bleib mal in Excel, siehe oben ist für alle einfacher.

Gruß
Mitglied: 77575
77575 Apr 15, 2009 at 19:23:45 (UTC)
Goto Top
Zitat von @77559:
Richtig, wenn die Daten in Excel liegen warum in die Ferne schweifen.
Die aktuellen Excel-Versoinen hab ich zwar zugunsten OOo links liegen
lassen, aber den Autofilter sollte es noch geben. Wenn du den
aktivierst bekommst in der Kopfzeile deiner Tabelle DropDownListen mit
denen du Vorgaben machen kannst was angezeigt wird (jeweils Elemnete
der Spalte) Im Menu Daten gibt es ein Punkt Maske der die Daten der
aktuellen Zeile als Tabelle übersichtlich untereinander
auflistet. Und das wolltest du doch wenn ich Dich richtig verstanden
habe?


Ahh, danke.
das klingt vielversprechend. das schaue ich mir auf alle fälle an und vielleicht ist das mit vbs dann eh hinfällig.


Wenn Andere das machen (können/wollen) ist der eigene Aufwand
gering face-wink
den vorwurf hab ich erwartet und kann ihn auch verstehen. eigentlich ist das ganze nur ein "nice to have" und es besteht keine echte notwendigkeit. ich könnte es auch in excel suchen und mich durchwurschtln wenn ich was suche, hab ich bisher gemacht oder alles übersichtlich in eine textdatei schreiben.
es kann ja durchaus sein das es was vergleichbares bereits gibt und hier jemand bereitstellen kann oder etwas ähnliches das ich mir nur anpassen muss.
zu anpassen reicht mein wissen , aber zum komplett selbst schreiben eben nicht. und ehrlich gesagt fehlt mir die zeit in der täglichen arbeit mich auch noch intensiv damit auseinandersetzen zu können.

aber der tipp und die kurze beschreibung zu excel hilft mir sicher schon weiter. das soll aber niemand davon abhalten hier sein wissen zu teilen, falls er etwas was ich ursprünglich gesucht habe , bereits hat. face-wink
das würde sicher auch anderen helfen. gerade wenn man solche daten hat, f. die sich eine datenbank nicht lohnt. und so eine vbs/HTA lösung die komplett offline mit nur 2 dateien funktioniert ist doch ne feine sache.

gruss
Member: MonoTone
MonoTone Apr 22, 2009 at 12:24:36 (UTC)
Goto Top
Ich habe mal ein Beispiel Script in VBS geschrieben zum "Auslesen" einer Excel File, funktioniert aber NUR mit excelfiles:
'Excel öffnen  
Dim Excel
On Error Resume Next
Set Excel = GetObject(, "Excel.Application")  
Err.Clear
If Excel <> "Microsoft Excel" Then  
Set Excel = WScript.CreateObject("Excel.Application")  
End If

Excel.Visible = False 'True wenn man es sehen will  
'Eingabe des Pfads + Dateinamen, alternativ(wenn feststeht wo sie liegt):  
'Pfad="C:\DEINPFAD\undDatei.xls"  
Pfad=InputBox("Wo liegt die Exceldatei(BSP: D:\test.xls)","Pfadangabe")  
Excel.workbooks.open(Pfad) 'öffnet file  
suchwort = InputBox("Nach welchem Wort soll gesucht werden?","Suchworteingabe")'eingabe des zu suchenden Worts  
'alternativ wenn das suchwort feststeht:  
'suchwort = "suchwort"  
'same mit zei und spa (mal mit Bsp spalte 5(entspricht E)  und zeile 2345):  
'spa=5  
'zei=2345   
zei = InputBox("Wieviele Zeilen sind vorhanden?","Zeilenabfrage")'eingabe der zu durchscannenden Zeilen....  
spa = InputBox("Wieviele Spalten sind vorhanden?","Spaltenabfrage") ' ..und spalten der exceldatei  

Call lesen(zei,spa,suchwort)
Function lesen(lzei,lspa,wort)

For zeile=1 To lzei
For spalte=1 To lspa

If InStr(1,Excel.Cells(zeile, spalte).Value,wort) <> 0 Then 'nach übereinstimmung suchen  

For a=1 To lspa
ergebnis = ergebnis & " " & Excel.Cells(zeile, a).Value  

Next
WScript.Echo "Zeile: " & zeile & " Datensatz: " & ergebnis 'gibt Zeile(Datensatz) aus bei vorhandener Übereinstimmung in irgendeiner Zeile/Spalte  
ergebnis = ""  
Exit For
End If
Next
Next
End Function
Ich habe leider nicht ganz verstanden was genau mit den ausgelesenen Zeile geschehen soll :?
Die einzugebenen Werte kann man natürlich auch festlegen im Script, dann funktioniert es völlig automatisch ohne Eingabe" Aufforderungen"
Und mit einer CSV Datei würde das aber nicht klappen :D

Hoffe es ist ein kleine Hilfe, schönen Gruß Mono