Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
792to796
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
792to796
792to796
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Objektmodell - Alle Schaltflächen in Tabelle?

Objektmodell - Alle Schaltflächen in Tabelle?
27.08.2006 12:09:03
Johann
Hallo!
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

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Objektmodell - Alle Schaltflächen in Tabelle?
27.08.2006 12:18:48
Josef
Hallo Johann!
Vom Prinzip her so.
Sub Controls()
Dim objCntrl As OLEObject


For Each objCntrl In ActiveSheet.OLEObjects
  If TypeName(objCntrl.Object) = "CommandButton" Then
    With objCntrl.Object
      .FontName = "Arial"
      .FontSize = 14
      .ForeColor = vbRed
    End With
  End If
Next

End Sub


Gruß Sepp

Anzeige
DANKE: Objektmodell - Alle Schaltflächen in Tab
27.08.2006 12:31:35
Johann
Da war ich ja mit den Shapes komplett auf dem Holzweg...
DANKE für die rasche und zielführende Antwort !!
Johann

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige