Popis: Skript otevírá soubory C:\00.csv až C:\10.csv, kontroluje jednotlivé řádky a pokud najde ve třetím sloupci hodnotu 479, vytvoří soubor C:\result.csv, kam zkopíruje řádek, ve kterém hodnotu nalezl.
Soubory mohou mít libovolný počet řádků.
Konec práce skript oznámí.
Pokud bude nějaký soubor chybět, skript skončí chybou. Do souboru C:\result.csv bude připisovat, takže pokud budeš chtít výtah z nových souborů, musíš ho předtím vymazat.
To co je v Code si zkopíruj do textového editoru notepad (ne do Wordu!) a ulož. Změň příponu z .txt na .vbs. Spouští se poklepáním. Co ti z toho vyleze po importu do excelu netuším.
Kód: Vybrat vše
'******************************************************
'* Script prohledává .csv soubory *
'* Pokud najde ve třetím sloupci hodnotu *
'* zapíše celý řádek do result.csv *
'* *
'* Vytvořeno pro PC-HELP *
'* Etienn@Script v. 1.0 *
'******************************************************
Option Explicit
Dim fso, Text1, txtStream0, txtStream, i, soubor
soubor = Array ("C:\00.csv", "C:\01.csv", "C:\02.csv", "C:\03.csv", "C:\04.csv", _
"C:\05.csv", "C:\06.csv", "C:\07.csv", "C:\08.csv", "C:\09.csv", "C:\10.csv")
Const fileout = "C:\result.csv"
' vytvoreni objektu pro pristup k souborum
Set fso = CreateObject("Scripting.FileSystemObject")
Set txtStream0 = fso.OpenTextFile(fileout, 8, True)
For i = 0 To 10
Set txtStream = fso.OpenTextFile(soubor(i))
Do While Not (txtStream.AtEndOfStream)
Text1 = txtStream.ReadLine
WScript.Echo Text1
If InStr(Text1, ";479;") Then txtStream0.WriteLine Text1
Loop
Next
txtStream0.Close
MsgBox "Script proběhl", vbOKOnly + vbInformation, "Zpráva"
Set fso = Nothing