Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1636to1640
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
Inhaltsverzeichnis

CheckBox Eigenschaften mit Schleife ausgeben

CheckBox Eigenschaften mit Schleife ausgeben
27.07.2018 11:35:59
Joni
Hallo zusammen,
ich würde gerne die Eigenschaften von Controlls (hier im Test eine Checkbox) mittels einer Schleife ausgeben. Leider weiß ich nicht wie ich an die Eigenschaften heran komme.
Danke für eure Hilfe!
Gruß Joni
Sub Userforms_mit_Schleife_durchlaufen_ControllEigenschaften()
Dim i As Integer, intCounter As Integer, iProperty As Integer
'Namen und alle Controls auflisten
With Application.VBE.ActiveVBProject
For i = 1 To Application.VBE.ActiveVBProject.VBComponents.Count
If .VBComponents(i).Type = 3 Then
'Debug.Print .VBComponents(i).Name
If .VBComponents(i).Name = "Userform1" Then
Debug.Print .VBComponents(i).Name
For intCounter = 0 To .VBComponents(i).Designer.Controls.Count - 1
If .VBComponents(i).Designer.Controls(intCounter).Name = "CheckBox1" Then
Debug.Print vbTab & vbTab & .VBComponents(i).Designer.Controls(intCounter).  _
_
Name
For iProperty = 0 To .VBComponents(i).Designer.Controls(intCounter).XXX. _
_
Count - 1 'hier komme ich nicht weiter
Debug.Print .VBComponents(i).Designer.Controls(intCounter).XXX( _
iProperty).Name
Debug.Print .VBComponents(i).Designer.Controls(intCounter).XXX( _
iProperty).Value
Next iProperty
End If
Next intCounter
End If
End If
Next
End With
End Sub

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
das geht nicht. owT
27.07.2018 12:10:25
Rudi
nix gut ... trotzdem danke owT
27.07.2018 12:19:57
Joni
AW: das geht schon...
27.07.2018 17:00:59
Herbert
Hallo Rudi,
Du hast Post von mir!
Servus
AW: CheckBox Eigenschaften mit Schleife ausgeben
27.07.2018 12:17:16
Nepumuk
Hallo Joni,
das geht nur mit einer speziellen dll die du installieren musst.
Gruß
Nepumuk
AW: CheckBox Eigenschaften mit Schleife ausgeben
27.07.2018 12:22:35
Joni
Hallo Nepumuk,
wie heißt die dll und wo kriege ich die her?
Ich bräuchte das dies Infos immer mal wieder zum testen da ich die Userforms tlw. zur Laufzeit baue/anpasse und dann an verschiedenen stellen gegenprüfen möchte wie die aktuellen Eigenschaften sind.
Danke und Gruß
Joni
AW: CheckBox Eigenschaften mit Schleife ausgeben
27.07.2018 12:55:09
Nepumuk
Hallo Joni,
schau mal in den Verweisen ob du "TypLib Infomation" findest.
Gruß
Nepumuk
AW: CheckBox Eigenschaften mit Schleife ausgeben
27.07.2018 13:10:43
Joni
Hallo Nepumuk,
nein kann ich nicht finden.
Gruß Joni
Anzeige
AW: CheckBox Eigenschaften mit Schleife ausgeben
27.07.2018 13:26:03
Nepumuk
Hallo Joni,
https://www.herber.de/bbs/user/122951.zip
entpacke die DLL, kopiere sie in den Ordner C:\Windows\SYSWOW64 und registriere sie als Administrator.
Setze dann in deiner Mappe einen Verweis auf die DLL und lass folgenden Code laufen. Die Ausgabe erfolgt im Direktbereich:
Option Explicit

Public Sub prcParseConstant4()
    
    Dim objTLIApplication As TLIApplication
    Dim objTypeLibInfo As TypeLibInfo
    Dim objCoClassInfo As CoClassInfo
    Dim objMemberInfo As MemberInfo
    
    Set objTLIApplication = New TLIApplication
    
    Set objTypeLibInfo = objTLIApplication.TypeLibInfoFromFile( _
        Filename:="C:\Windows\System32\fm20.dll")
    
    For Each objCoClassInfo In objTypeLibInfo.CoClasses
        
        If objCoClassInfo.Name = "CheckBox" Then
            
            For Each objMemberInfo In objCoClassInfo.DefaultInterface.Members
                
                With objMemberInfo
                    
                    Debug.Print .Name & Space$(50 - Len(.Name)), Switch( _
                        .InvokeKind = INVOKE_PROPERTYGET, "Lesen", _
                        .InvokeKind = INVOKE_PROPERTYPUT, "Schreiben", _
                        .InvokeKind = INVOKE_FUNC, "Methode", _
                        .InvokeKind = INVOKE_PROPERTYPUTREF, "Objekt")
                    
                End With
            Next
            
            Exit For
            
        End If
    Next
    
    Set objMemberInfo = Nothing
    Set objCoClassInfo = Nothing
    Set objTypeLibInfo = Nothing
    Set objTLIApplication = Nothing
    
End Sub

Gruß
Nepumuk
Anzeige
AW: CheckBox Eigenschaften mit Schleife ausgeben
27.07.2018 14:25:14
Joni
Hallo Nepumuk,
eine Ausgabe erhalte ich jetzt. Aber mir ist noch nicht klar wie ich jetzt an die Eigenschaften eines bestimmten Controls komme (zB Userform1/CheckBox1; Height, Width, Left, Top, Visible, Enabled,...). Für mich schaut es so aus als ob hier irgend welche Standardwerte ausgegeben werden die nichts mit meiner Mappe zu tun haben.
Gruß Joni
AW: CheckBox Eigenschaften mit Schleife ausgeben
27.07.2018 14:31:26
Nepumuk
Hallo Joni,
du nimmst alle Eigenschaften die "schreiben" als Attribut haben und liest diese Eigenschaften aus. Beispiel:
Public Sub Beispiel()
    Const CONTROL_PROPERTY As String = "Accelerator"
    With UserForm1
        Debug.Print CallByName(.CheckBox1, CONTROL_PROPERTY, VbGet)
    End With
End Sub

Gruß
Nepumuk
Anzeige
AW: CheckBox Eigenschaften mit Schleife ausgeben
27.07.2018 14:58:02
Joni
Hallo Nepumuk,
jetzt hab ich es kapiert. Dann werde ich das jetzt noch schön verpacken.
Danke für deine Hilfe und ein schönen Wochenende.
Gruß Joni
AW: CheckBox Eigenschaften mit Schleife ausgeben
27.07.2018 16:37:42
Joni
Hallo Nepumuk,
ich bin jetzt fast durch. Mir ist aufgefallen, dass bestimmte Eigentschaften (zB Top oder Height) von deinem Code prcParseConstant4 nicht geliefert werden. Hast du eine Idee warum?
Gruß Joni
AW: CheckBox Eigenschaften mit Schleife ausgeben
27.07.2018 16:56:15
Nepumuk
Hallo Joni,
an die "Standardeigenschaften" eines Controls kommst du damit:
If objCoClassInfo.Name = "Control" Then ' "CheckBox" Then
allerdings musst du Eigenschaften die das Control nicht hat mit On Error Goto ... abfangen.
Gruß
Nepumuk
Anzeige
AW: CheckBox Eigenschaften mit Schleife ausgeben
27.07.2018 16:58:17
Joni
Nochmal danke.
Ich bin jetzt weg, ab in den Süden :-)
Ich werde es in 2 Wochen dann mal testen.
Gruß Joni
AW: Arbeitsblatt, Formular?
27.07.2018 13:12:12
Fennek
Hallo,
der gezeigte Code sucht im VBE mit den genannten Schwierigkeiten.
Checkboxen im Arbeitsblatt bzw einem Formualar können aber schon gelistet werden.
mfg

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige