Excel - Dropdownmenü mit vb.net auslesen

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von chazer11.

    Excel - Dropdownmenü mit vb.net auslesen

    Ich arbeite derzeit an einer Auswertung von mehreren Excellisten. In den Excellisten gibt es ein bestimmtes Dropdownmenü dessen aktuellen Wert ich auslesen muss.

    Ich brech mir aber so langsam die Finger dabei.

    Folgender Code steht bereits und funktioniert soweit.

    VB.NET-Quellcode

    1. Public Sub excel()
    2. Dim Excel1 As New Microsoft.Office.Interop.Excel.Application
    3. Dim InstitusNr As String
    4. Dim Region As String
    5. Try
    6. Excel1.Workbooks.Open("Datei.xls")
    7. InstitusNr = Excel1.Range("C8").Value
    8. MessageBox.Show(InstitusNr)
    9. Catch ex As Exception
    10. MessageBox.Show("Fehler!")
    11. Finally
    12. Excel1.Application.Quit()
    13. End Try
    14. End Sub


    Um den Wert aus dem Dropdownmenü zu lesen finde ich keine passende Methode oder Funktion. Das Dropdownmenü heißt außerdem "Dropdown 129"... Kann es da zu Problemen auf Grund des Leerzeichens kommen?

    Mein bisheriger Ansatz war folgender:

    VB.NET-Quellcode

    1. excel1.range("c8").value 'funktioniert nicht, da man wohl nicht einfach auf die
    2. ' Spalte gehen kann bei Steuerelementen um den Wert auszulesen.


    Danke im Voraus!
    Ich habe mich vielleicht missverständlich ausgedrückt.

    Die Excelliste habe ich nicht selber erstellt. Im Bearbeitungsmodus sehe ich nur oben links in der Ecke, dass der Name des auszulesenden Dropdown Menüs "Dropdown 129" ist. In dem Dropdown Menü ist Standardmäßig ein String hinterlegt, den ich mittels vb.net auslesen möchte.

    Meine Frage ist wie ich das Dropdown menü mit dem Namen Dropdown 129 ansprechen kann?

    z.B.

    VB.NET-Quellcode

    1. Excel1.dropdown129.vlaue 'funktioniert logischerweise nicht, soll nur verdeutlichen was ich vor habe.
    Habe es wie folgt versucht.

    VB.NET-Quellcode

    1. Excel1.ActiveWorkbook.Worksheets("Fragebogen").Shapes("Dropdown 129"))


    Ich bekomme allerdings eine Argument Exception und auch wenn ich keine bekommen sollte, frage ich mich wie durch den Befehl der Wert ausgelesen werden soll? Es kommt ja kein String am Ende raus. Wenn ich mit .ToString konvertiere gibt er mir logischerweise nur das interne ComObjekt zurück.