Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Πώς βρίσκουμε με κώδικα τα selected items ενός ListBox στο Excel;

Îåêßíçóå áðü ôï ìÝëïò antonisV. Τελευταία δημοσίευση από το μέλος antonisV στις 02-11-2007, 11:19. Υπάρχουν 1 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  02-11-2007, 00:59 36875

    Πώς βρίσκουμε με κώδικα τα selected items ενός ListBox στο Excel;

    Καλημέρα,

    σε προηγούμενη δημοσίευση, με τη βοήθεια του χρήστη manosB, είχα καταλλήξει πως αν σε ένα Excel αρχείο υπάρχει ένα control από το ToolBar Control ToolBox, τότε μπορεί κανείς να διαβάσει την τιμή του ως εξής (xlSht το Sheet του Excel αρχείου):

    xlSht.OLEObjects(i).object.Value

    Τι γίνεται όμως όταν αυτό το control είναι ListBox και είναι ενεργοποιημένο το multiselection ; Τότε το .Value δεν έχει νόημα.
    Έχω βρει τον τρόπο να δεις αν η πολλαπλή επιλογή είναι ενργή:

    If xlSht.OLEObjects(i).object.multiselect > 0 Then
    MsgBox("multiselection ON")
    End If

    Δεν έχω καταφέρει ωστόσο να βρω τρόπο να προσπελάσω το array των items. Τα .items και .selecteditems κτλ δε λειτουργούν. Δεν τα δέχεται καν. Επίσης όλες οι δοκιμές μου για casting έχουν πέσει στο κενό. Επίσης, το ίδιο πρόβλημα παρουσιάζεται και στην περίπτωση που το ListBox είναι από το ToolBar Forms, οπότε και το αντίστοιχο object είναι το:

    xlSht.ListBoxes(i).object

    Αν ξέρει κάποιος τη λύση, παρακαλώ ας τη δημοσιεύσει.
    Ευχαριστώ εκ των προτέρων
  •  02-11-2007, 11:19 36886 σε απάντηση της 36875

    Απ: Πώς βρίσκουμε με κώδικα τα selected items ενός ListBox στο Excel;

    Καλημέρα και πάλι,

    βρήκα τη λύση για τη 1 από τις 2 περιπτώσεις. Όταν πρόκειται για ListBox από το ToolBar: Forms, τότε το:

    xlSht.ListBoxes(1).Selected

    επιστρέφει (για το πρώτο τέτοιο ListBox) ένα array από Booleans, το οποίο έχει τόσα μέλη όσα είναι τα items στο ListBox και κάθε Boolean δηλώνει το κατά πόσο το αντίστοιχο Item στο ListBox είναι ή όχι επιλεγμένο. Μάλίστα για να βρει κανείς το πλήθος των Items πρέπει να χρησιμοποιήσει το:

    xlSht.ListBoxes(1).Selected.Length

    Το πρόβλημα παραμένει για την περίπτωση του ListBox από το Control ToolBox ToolBar. Εκεί το:

    xlSht.OLEObjects(1).object.Selected

    (αν το 1ο OLEObject είναι ListBox) βγάζει error !


    Ελπίζω κάποιος να βρει και για αυτό τη λύση και να τη δημοσιεύσει.
    Ευχαριστώ
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems