Screencore 0 Geschrieben 6. September 2016 Melden Teilen Geschrieben 6. September 2016 Hallo :3 Ich bin gerade dabei ein script zu schreiben das in einer excel datei ein wort sucht... doch es klappt nicht $excel = new-object -comobject excel.application $excel.visible = $true $filepath="C:\Users\fagr\Desktop\test.xlsx" $workbook=$excel.Workbooks.open($filepath) $worksheet = $workbook.Worksheets.Item(1) $rowcount = $worksheet.usedRange.Count $i = 2 while ($worksheet.Cells.Item($i, $c).Text -ne "" ) { $eingabe = Read-Host "Suchwort: " $Range = $worksheet.Cells.Item($i, 2) if($Range.find('$eingabe')) { Write-Host "Gefunden" }else { Write-Host "Nicht gefunden" exit } } das ist daweil mein script er gibt immmer "Nicht gefunden" aus.... Kann mir wer helfen? Zitieren Link zu diesem Kommentar
zahni 554 Geschrieben 6. September 2016 Melden Teilen Geschrieben 6. September 2016 Schau mal, ob Di so weiterkommst: https://daniellange.wordpress.com/2009/12/18/searching-excel-in-powershell/ Zitieren Link zu diesem Kommentar
Dukel 455 Geschrieben 6. September 2016 Melden Teilen Geschrieben 6. September 2016 Lass die einfachen Anführungszeichen bei "if($Range.find('$eingabe'))" weg. Zitieren Link zu diesem Kommentar
Screencore 0 Geschrieben 6. September 2016 Autor Melden Teilen Geschrieben 6. September 2016 (bearbeitet) Danke an ALLE, habe es jetzt auf eine andere art umgeschrieben: $File = "C:\Users\fagr\Desktop\test2.xlsx" $Excel = New-Object -ComObject Excel.Application $Excel.visible = $true $Workbook = $Excel.workbooks.open($file) $Worksheets = $Workbooks.worksheets $Worksheet = $Workbook.Worksheets.Item(1) $SearchString = Read-Host "Suchwort: " $Range = $Worksheet.Range("B1:B100") if ($Search = $Range.find($SearchString)){ Write-Host "Gefunden in Zeile" $Search.address($false,$false) "." }else { Write-Host "Nicht Gefunden" } $ausgabea = "A"+$Range.find($SearchString).row $ausgabea Nur jetzt muss ich das erweitern und zwar so: so soll es aussehen: Nr. Name: 100 Franz 101 Müller 102 103 Exenbauer 104 Und zwar zeigt er mir an wenn ich Franz suche: Gefunden in Zeile B2 ich hab das jetz mit dem code so gemacht der er mir B4 und A4 ausgibt: $ausgabea = "A"+$Range.find($SearchString).row $ausgabea jetzt soll aber A4 ausgegen werden also 100 statt A4. wie? bearbeitet 6. September 2016 von Screencore Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.