newbi2009 1 Geschrieben 3. Juni Melden Teilen Geschrieben 3. Juni Hallo Forum, ich versuche den Inhalt einer Spalte eines Excel-Worksheets in einer Combo-Box auszugeben. Grundsätzlich funktioniert das auch. Zumindest sind in, "$objCombobox.items" die gewünschtenNamen gespeichert. Allerdings bekomme ich in der Combo-Box selber nur 4 x "system Object[]" angezeigt. Wo liegt mein Fehler? Hier mein Code: [void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") [void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing") $Namen = @() $Zeile=1 $Page = "User" $objForm = New-Object System.Windows.Forms.Form $objForm.Text = "Combobox" $objForm.Size = New-Object System.Drawing.Size(300,200) $objForm.StartPosition = "CenterScreen" $objForm.KeyPreview = $True $OKButton = New-Object System.Windows.Forms.Button $OKButton.Location = New-Object System.Drawing.Size(75,120) $OKButton.Size = New-Object System.Drawing.Size(75,23) $OKButton.Text = "OK" $OKButton.Add_Click( { foreach ($objItem in $objCombobox.SelectedItem) {$global:x = $objItem $global:x} $objForm.Close() }) $objForm.Controls.Add($OKButton) $CancelButton = New-Object System.Windows.Forms.Button $CancelButton.Location = New-Object System.Drawing.Size(150,120) $CancelButton.Size = New-Object System.Drawing.Size(75,23) $CancelButton.Text = "Cancel" $CancelButton.Add_Click({$objForm.Close()}) $objForm.Controls.Add($CancelButton) $objLabel = New-Object System.Windows.Forms.Label $objLabel.Location = New-Object System.Drawing.Size(10,20) $objLabel.Size = New-Object System.Drawing.Size(280,20) $objLabel.Text = "Treffen Sie bitte eine Auswahl:" $objForm.Controls.Add($objLabel) $objCombobox = New-Object System.Windows.Forms.Combobox $objCombobox.Location = New-Object System.Drawing.Size(10,40) $objCombobox.Size = New-Object System.Drawing.Size(260,20) $objCombobox.Height = 70 $objexcel=New-Object -ComObject Excel.Application $workbook=$objexcel.WorkBooks.Open('C:\temp\Users.xlsx') $worksheet=$workbook.WorkSheets.item($Page) $objexcel.Visible= $false do { $Namen = @($worksheet.Cells.Item($Zeile,1).Text) write-host Name = $Namen [void] $objCombobox.Items.Add($Namen) $Zeile++ } while($worksheet.Cells.Item($Zeile,1).Text.Length -gt 0) $objexcel.quit() $objForm.Controls.Add($objCombobox) $objForm.Topmost = $True $objForm.Add_Shown({$objForm.Activate()}) [void] $objForm.ShowDialog() Die Excel-Tabelle sieht so aus: und die Combo-Box selber sieht so aus: vielen Dank für Eure Hilfe Holger Zitieren Link zu diesem Kommentar
newbi2009 1 Geschrieben 3. Juni Autor Melden Teilen Geschrieben 3. Juni vor 1 Stunde schrieb newbi2009: $Namen = @($worksheet.Cells.Item($Zeile,1).Text) hat sich erledigt! Ich habe hier versucht ein array und nicht einen einzelnen Wert zuzuweisen...... Zitieren Link zu diesem Kommentar
Damian 1.533 Geschrieben 3. Juni Melden Teilen Geschrieben 3. Juni Danke für die Rückmeldung. VG Damian Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 3. Juni Melden Teilen Geschrieben 3. Juni vor 5 Stunden schrieb newbi2009: Hallo Forum, Bitte in Zukunft auf Crossposts hinweisen!! https://forums.powershell.org/t/excel-data-into-combo-box/24225 Board-Regel Nr. 19 https://www.mcseboard.de/terms/ 1 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.