2017-05-09 2 views
0

Je suis en train de concevoir un schéma interactif, avec des TextBox connectés à Connectors, et des spinbuttons qui indiquent la "force" des connecteurs. En ce moment je veux seulement obtenir les noms et les valeurs et les connexions des éléments pour une utilisation future. Mon problème est que j'ai chaque spinbutton groupé avec une étiquette (de sorte que dans mon futur code je serai capable d'afficher la valeur de spinbutton), et dans le code suivant je ne peux pas obtenir la valeur du spinbutton. J'ai essayé toutes sortes de choses, comme subshp.OLEFormat.Object.Value sans succès.Valeur de spinbutton groupée avec label (Excel 2007)

Je colle le code complet pour le contexte, mais mon problème réside dans le code après For Each subshp In shMyShape.GroupItems. Merci.

Private Sub CB1_Click() 
    Dim shMyShape, subshp As Shape 
    Dim i As Long 
    Dim theSubShapes as String 

    Worksheets("MySchema").Range("A1:M100").ClearContents 
    i = 1 
    For Each shMyShape In Worksheets("MySchema").Shapes 

     If (shMyShape.Connector) Then 
      Worksheets("MySchema").Cells(i, 1) = "Shape name: " 
      Worksheets("MySchema").Cells(i, 2) = shMyShape.Name 
      Worksheets("MySchema").Cells(i, 3) = "Connector. Comes from " & shMyShape.ConnectorFormat.BeginConnectedShape.TextFrame.Characters.Text & " and goes to " & shMyShape.ConnectorFormat.EndConnectedShape.TextFrame.Characters.Text 
      i = i + 1 
     End If 
     If (shMyShape.Type = msoTextBox) Then 
      Worksheets("MySchema").Cells(i, 1) = "Shape name: " 
      Worksheets("MySchema").Cells(i, 2) = shMyShape.Name 
      Worksheets("MySchema").Cells(i, 3) = "Textbox, and its value is: " & shMyShape.TextFrame.Characters.Text 
      i = i + 1 
     End If 
     If (shMyShape.Type = msoGroup) Then 
      Worksheets("MySchema").Cells(i, 1) = "Shape name: " 
      Worksheets("MySchema").Cells(i, 2) = shMyShape.Name 
       theSubShapes = "" 

       'here starts my problem 
       For Each subshp In shMyShape.GroupItems 
        theSubShapes = theSubShapes & "-" & subshp.Name & "/" 'Here I need to get the spinbutton value (e.g., subshp.Value or subshp.OLEFormat.Object.Value) 
       Next subshp 
       Worksheets("MySchema").Cells(i, 3) = theSubShapes 
      i = i + 1 
     End If 
    Next 
End Sub 
+0

SOLVED. Au cas où quelqu'un arriverait ici, la solution était finalement 'subshp.OLEFormat.Object.Object.Value'. Pas une approche logique dans mon cas, mais juste un essai et une erreur :( – CMArg

Répondre

0

Il est une question stupide, mais avez-vous essayé:

subshp.Value 'instead of subshp.Values 
+0

Oui, c'est juste une faute de frappe dans la question. Édité maintenant Merci d'avoir répondu. – CMArg