Screencore 0 Geschrieben 6. September 2016 Melden 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?
zahni 587 Geschrieben 6. September 2016 Melden Geschrieben 6. September 2016 Schau mal, ob Di so weiterkommst: https://daniellange.wordpress.com/2009/12/18/searching-excel-in-powershell/
Dukel 468 Geschrieben 6. September 2016 Melden Geschrieben 6. September 2016 Lass die einfachen Anführungszeichen bei "if($Range.find('$eingabe'))" weg.
Screencore 0 Geschrieben 6. September 2016 Autor Melden 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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden