Objektmodell - Alle Schaltflächen in Tabelle?
27.08.2006 12:09:03
Johann
Ich habe viele Schaltflächen in einer Tabelle angelegt und möchte nun die Eigenschaften dieser Schaltflächen (Caption, Font, .....) ändern.
Dazu benötige ich aber ein Aufzählungsobjekt dieser Schaltflächen mit denen ich die Eignschaften ansprechen kann. Bisher habe ich nur die Worksheet.Shapes-Aufzählung gefunden. Damit kann ich zwar die Namen, Typen und Grafik-Eigenschaften ansprechen, jedoch nicht die Eigenschaften der Schaltfläche (Caption, .....).
Beiliegend ein Code-Ausschnitt mit dem man die Shapes ausliest, aber ich schaffe es nicht auf die echten Eigenschaften des Controlls hinzukommen.
Könnt Ihr mir hier den entscheidenden Tip geben?
Vielen Dank im Voraus
'------------------------------------------------------------------------
' Versuch alle Schaltflächen einer Tabelle aufzulisten,
' mit dem Ziel die "Caption"-Eigenschaft der Schaltfläche zu Ändern
'
Sub Schaltflaechen()
Dim WrkB As Workbook ' Workbook
Dim WrkS As Worksheet ' Worksheet
Dim WL1 As Long ' Work-Long
Dim WS1 As String ' Workstring
Dim WS2 As String ' Workstring
Dim Shp As Shape ' Zeichnungsobjekt
Dim WObj As Object '?
Set WrkB = ActiveWorkbook
Set WrkS = ActiveSheet
WL1 = WrkS.Shapes.Count
WS1 = WS1 & "Shapes.Count = " & Str$(WL1) & vbCrLf
WL1 = 0 ' Zähler initialisieren
For Each Shp In WrkS.Shapes
WS1 = WS1 & Shp.Parent.Name ' Name des übergeorneten Objektes
WS1 = WS1 & " / " & Shp.Name ' Name des Grafik-Objekts
WS1 = WS1 & " / ShapeType: " & Str$(Shp.Type) ' Typ des Grafik-Objektes
WS1 = WS1 & vbCrLf
If Shp.Type = msoOLEControlObject Then 'Wenn Schaltfläche
WL1 = WL1 + 1 ' Command-Button-Zähler inkrementieren
' HIER ZWICKT ES:
' Wie komme ich auf die Eigenschaften der Schaltfläche ?
' --> shp.?.caption = "Schaltfläche " & str$(wl1)
End If
Next
'Ausgeben des Analyse-Ergebnisses
MsgBox WS1, vbOKOnly, "Analyse-Ergebnis:"
End Sub