Guten Abend,
ich brauche wohl doch etwas mehr "Starthilfe"
Und zwar will ich ein Tool schreiben das mir Werte aus einer Exceldatei, in einem Ordner sucht und diese File Liste dann in einer .txt speichert
ZitatBeispiel: suche nach "M25890102004K" in Ordner "..\S15" und speichere alle gefunden Dateinamen in einer .txt
geplante Vorgehensweise:
1. suche in Zeile 1 nach InputBox (z.B. MSN 16) und lese bei gefundener Nr die darunterliegende 2 Spalten in Array 1
2. hole aus einem Verzeichnis die Dateiliste in Array 2 (FileListToArray?)
3. die Formate beider Arrays unterscheiden sich und müssen angepasst werden (StringSplit?)Erstmal nur die Frage Zu 1.: Wie bekomme ich es hin das 2 Spalten unter dem Suchbegriff der Inputbox eingelesen werden?
Das habe ich bisher
Spoiler anzeigen
#include<Array.au3>
#include<Excel.au3>
#include<File.au3>
#include<String.au3>
;~ #include<ExcelCOM_UDF.au3>
; //////////////////QuellDatei auswählen
$BlankStat = FileOpenDialog("Datei öffnen", "G:\Ham_Änderung\AEND_2013_06_07_A400M\Orig" & "\", "Excel (*xls;*.xlsx)", 1+2)
$aSheet = Inputbox("Sektion wählen", "Welche Sektion?" & @CRLF & "z.B.: S13; S15...", "S15", "", 100, 130)
[/autoit] [autoit][/autoit] [autoit]$aMSN = Inputbox("MSN wählen", "Welche MSN?", "16", "", 100, 130)
[/autoit] [autoit][/autoit] [autoit]; /////////////////$oExcel = QuellDatei öffen, Sheet aktivieren
$oExcel = _ExcelBookOpen($BlankStat, 1)
_ExcelSheetActivate($oExcel, $aSheet)
;//////////////////MSN Nr finden////////////////aus der ExcelCOM_UDF "geklaut"^^
$MSNSelect = _ExcelFindInRange($oExcel, $aMSN, 1, 1, 1, 1, 0, 2)
;/////////////////Spalten un er MSN Nr in Array einlesen
$aArray = _ExcelReadSheetToArray($oExcel, 3, $MSNSelect[1][2], 0, 1, True)
;/////////////////Verzeichnis der NC Dateien auswählen
$oVerz = FileSelectFolder("Datei öffnen", "O:\SCHNITT_IGES_2003_02_25\A400M", "")
$FileList = _FileListToArray($oVerz, "*.nc", 1)
If @error = 1 Then
MsgBox(0, "", "Keine Ordner gefunden.")
Exit
EndIf
If @Error=4 Then
MsgBox (0,"","Keine Dateien gefunden.")
Exit
EndIf
_ArrayDisplay($FileList, "Ordnerinhalt")
_ArrayDisplay($aArray, "Excelinhalt")
$aArray1 = StringReplace("M258_90118_000C_20c.nc", "_", "")
[/autoit]Ich hoffe das jemand mein Kauderwelsch versteht und mir dabei helfen kann.
Grüße Elmar
Bild1: Quelldaten nach denen im Verzeichnis gesucht wird(Excel)
Bild2: Dateinamen die eingelesen werden sollen (Verzeichnis)
Bild3: fertig generierte Textdatei