Jump to content

Screencore

Members
  • Gesamte Inhalte

    4
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von Screencore

  1. # Excel File Open

    $File = "C:\Users\fagr\Desktop\Teamliste.xlsx"

    $ExcelInput = New-Object -ComObject Excel.Application

    $ExcelInput.visible = $true

    $Workbook = $ExcelInput.workbooks.open($file)

    $Worksheets = $Workbooks.worksheets

    $Worksheet = $Workbook.Worksheets.Item(1)

    $SheetInput = $WorkBook.ActiveSheet

    $CellsInput=$SheetInput.Cells

    #Range

    $RangeG2 = $SheetInput.Range("B1:B100")

    #User input

    $eingabe = Read-Host "Gruppe"

    #Search free row

    $lastrow = $RangeG2.find($SearchString).row

    #Find the last Team

    for($i = $lastrow; $i -gt 1; $i--){

    $RangeGruppe2 = $SheetInput.Range("B100:B"+$i)

    $findlastGroup = $RangeGruppe2.find($eingabe).row

    }

    for($j = 1; $j -le $findlastGroup; $j++){

    $RangeGruppe = $SheetInput.Range("B"+$j+":B100")

    $findrow = $RangeGruppe.find($eingabe).row

    $NextRowCopy = $CellsInput.Item($findrow, 1).value2

    Write-Host "In $eingabe sind die Mitglieder: $NextRowCopy"

    $j=$findrow

    $j += 1

    }

    #Excel File Close

    $ExcelInput.Application.DisplayAlerts = $False

    $Workbook.SaveAs($File)

    $ExcelInput.Application.DisplayAlerts = $True

    $ExcelInput.Quit()

    $ExcelInputProcesses = Get-Process Excel

    $ExcelInputProcesses | ForEach {Stop-Process ($_.Id)}

     

    das ist das script, jedoch geht es wenn ich G1 eingebe  :D alles perfekt JEDOCH wenn ich dann G2 eingebe gibt er mir nur 1nen user an nicht den zweiten.. :(


    danke habe schon eine lösung :D

  2. Hallo Helfer/innen,

     

    Ich brauche ein Script in Powershell. Das soll es können;

     

    Excel Tabelle:

    Name       Gruppe

    Franz         G1

    Fabian       G2

    Lukas        G1

    Richard     G2

    Rafael       G3

     

    Script:

     

    # Excel File Open

    $File = "C:\Users\fagr\Desktop\Teamliste.xlsx"

    $ExcelInput = New-Object -ComObject Excel.Application

    $ExcelInput.visible = $true

    $Workbook = $ExcelInput.workbooks.open($file)

    $Worksheets = $Workbooks.worksheets

    $Worksheet = $Workbook.Worksheets.Item(1)

    $SheetInput = $WorkBook.ActiveSheet

    $CellsInput=$SheetInput.Cells

     

    dann brauche ich eine Eingabe die soll so aussehene:

     

    Gruppe:

     

    wenn ich jetzt bei Gruppe: G1 eingebe

    soll Franz, Lukas ausgegeben werden.

    Kann das wer? Wär mega :D

  3. 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?

  4. 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?

×
×
  • Neu erstellen...