Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
844to848
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
844to848
844to848
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Steuerelemente per VBA ansprechen...

Steuerelemente per VBA ansprechen...
08.02.2007 13:30:07
Jens
Hallo Leute,
also, zu meinem Betreff: ich weiss, wie man Steuerelemente in einem Tabllenblatt (die aus der Steuerelement-Toolbox) per VBA anspricht.
Hier geht's um folgende konkrete Frage:
wie kann ich feststellen, welchen Typ ein Steuerelement hat, also z.B. ob es sich um einen CommandButton handelt? ZB würde das gehen mit
For Each oShp In Worksheets(1).Shapes
If oShp.Type = msoOLECommandButton Then ...
Next oShp
Nur leider gibt's so was wie 'msoOLECommandButton' meines Wissens nicht... Sondern nur msoOLEControlObject, mit dem ich feststellen kann, ob es sich grundsätzlich mal um ein Steuerelement handelt...
Oder es könnte auch über die OLEObjects-Auflistung gehen. ZB:
For i = 1 To Worksheets(1).OLEObjects.Count
If Worksheets(1).OLEObjects(i).Type = msoOLECommandButton
Next i
Gibt's aber meines Wissens auch nicht...
Hat wer eine Idee? Danke sagt
der Jens

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Steuerelemente per VBA ansprechen...
08.02.2007 13:43:39
Heiko
Hallo Jens,
z.B. so:

Sub TestT()
Dim objI As OLEObject
For Each objI In Worksheets(1).OLEObjects
MsgBox TypeName(objI.Object)
MsgBox VarType(objI.Object)
Next objI
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
AW: Steuerelemente per VBA ansprechen...
08.02.2007 14:49:26
Jens
Hallo heiko,
also:
VarType liefert 9, also vbObject
TypeName liefert OLEObject
Beide sagen mir nicht wirklich, ob's um einen CommandButton oder ein anderes Steuerelement geht...
LG,
der jens
AW: Steuerelemente per VBA ansprechen...
08.02.2007 15:31:33
Heiko
Hallo Jens,
hast du denn mein Beispiel 1 zu 1 kopiert und getestet ?!
Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: Steuerelemente per VBA ansprechen...
08.02.2007 15:52:34
Jens
ja, hab das in meinem VBA-Projekt genau so getestet wie du es geschrieben hast. Hab mir VarType und TypeName ins Direktfenster ausgeben lassen, und die Ergebnisse davon sind die von meinem letzten Beitrag, also
9 für VarType, und
OLEObject für TypeName
lg,
der jens
AW: Steuerelemente per VBA ansprechen...
08.02.2007 15:56:51
Heiko
Hallo Jens,

Sub TestT()
Dim objI As OLEObject
For Each objI In Worksheets(1).OLEObjects
' Gibt bei mir unter EXCEL 2000 den Namen des Steuerelementes aus
MsgBox TypeName(objI.Object)
' Gibt bei mir unter EXCEL 2000 OLEObject aus
MsgBox TypeName(objI)
MsgBox VarType(objI.Object)
Next objI
End Sub

Wenn du wirklich immer das .Object (TypeName(objI.Object)) mit drin hast dann liegt es wohl an deiner 2003 Office Version, dann kann ich auch nicht helfen. Denn bei mir läuft mein Beispiel so wie gewünscht.
Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: Steuerelemente per VBA ansprechen...
08.02.2007 16:35:04
Jens
hallo heiko,
sorry: mein fehler. Hatte das .Object vergessen.
VarType liefert immer noch keinen wirklichen Hinweis, welches Objekt ich hab.
Aber TypeName(MeinObjekt.Object) liefert "CommandButton" zurück, also genau das, was ich suchte!
Vielen Dank, alles gelöst! sagt
der Jens

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige