Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Dynamische Objekte während der Laufzeit abfragen

Mitglied: erik87

erik87 (Level 1) - Jetzt verbinden

01.06.2010 um 17:20 Uhr, 11966 Aufrufe, 3 Kommentare

Hallo mal wieder,

ich habe heut den ganzen tag daran gesessen um meine dynamisch erstellten Labels, Textboxen und Checkboxen auf ein Click abzufragen. Habe dann nach 4 stunden Probieren rausgefunden das es wohl kein addhandler im VBA von Excel 2007 gibt. Ich muss dazu sagen das ich mich heute erstmals mit Klassen beschäfftigt habe und rein garnicht durch sehe.

ich habe das Beispiel auf dieser Seite Probiert und soweit verstanden:

http://www.online-excel.de/excel/singsel_vba.php?f=57


Allerdings brauche ich keine Buttons abzufragen und wenn ich versuche es auf andere Objecte zu übertragen bekomme ich nur fehlermeldungen..

Beispiel Checkboxen:


'Userform---------------

[...]
Dim oCheckBox1 As clsCheckBox
Dim oCheckBox2 As clsCheckBox
Dim checkbox100
Dim CHkBx As MSForms.CheckBox
'---
Set oCheckBox1 = New clsCheckBox
Set oCheckBox2 = New clsCheckBox
Set oCheckBox1.DieChkBxs = CheckBox1 ' Hier kommt der Fehler: Objekt erforderlich
Set CHkBx = Frame3.controls.Add("Forms.CheckBox.1") 'Positionsbeschreibung
With CHkBx
.Name = "chkbx" & VisPos
.Width = 450
.Height = 15
.Left = 23
.Top = DynTOP
.Caption = TreeView1.SelectedItem
.Value = 1
End With
Set oCheckBox2.DieChkBxs = CHkBx
Set CHkBx = Nothing

[...]
'Modul: clsCheckBox------------------------

Option Explicit
Public WithEvents DieChkBxs As MSForms.CheckBox

Private Sub DieChkBxs_Click()
DieChkBxs.ControlTipText = "Geklickt"
MsgBox "test"
DieChkBxs.BackColor = vbGreen
DieChkBxs.Font.Bold = True
End Sub
Private Sub DerChkBxs_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
MsgBox "Double"
End Sub



Mag jemand mit mir das mal langsam durchkauen und alles schritt für Schritt erklären. Ich weiß nicht ob es wichtig ist aber noch ein wenig zum Programmablauf:


ich habe am linken rand ein treeview, in welchem verschiedene Funktionen stehen. nach dem auswählen einer solchen funktion werden, für jede Auswahl eine Checkbox, 1 Label und eine Textbox nebeneinander, aber pro auswahl untereinander (quasi zeilen weise) in einem Frame erstellt. es sollen bis zu 256 "Zeilen" möglich sein. nun muss ich diese auf ein Click event abfragen um die entsprechenden Berechnungsfunktionen zu starten mit den eingabeparametern der in laufzeit erstellten Objecte. Diese besitzen Standartwerte, welche aber vom benutzer geändert werden können. Das Auslesen der objecte sollte kein Problem darstellen, ich will nur wissen, auf welches geclickt wurde.

Ich hatte auch schon überlegt ein Timer einzubauen und alle 500 ms die erstellten Objecte auf änderung zu überprüfen, das würde das programm aber zusätzlich verlangsamen, es brauch so schon sehr lange für die berechnungen.


Schönen Abend noch
Mit freundlichen Grüßen
Mitglied: erik87
01.06.2010 um 19:08 Uhr
puh, kaum saß ich im auto...

es geht jetzt. Danke, an alle die sich versucht haben zu bemühen
Bitte warten ..
Mitglied: dog
02.06.2010 um 02:47 Uhr
Dann bitte für andere noch erklären woran es lag...
Bitte warten ..
Mitglied: erik87
02.06.2010 um 08:00 Uhr
Moin,

ja, da habe ich Gestern wohl vor "Freude" garnicht mehr dran gedacht. Problem war, das in der oben genannten Internet Präsenz ein Beispiel gegeben war, in dem auch gezeigt wird, das nicht während runtime erstellte Objekte damit identifiziert werden können.

hier nochmal der funktionierende Code für Label´s:

01.
'Klassenmodul -- clsLabel 
02.
 
03.
'Option Explicit 
04.
Public WithEvents LBL As MSForms.Label 
05.
     
06.
Private Sub LBL_Click() 
07.
x = UserForm1.aufruf(LBL.Name) 
08.
End Sub 
09.
     
10.
Private Sub LBL_DblClick(ByVal Cancel As MSForms.ReturnBoolean) 
11.
    MsgBox "Double" 
12.
End Sub
01.
'-- userForm 
02.
 
03.
Option Explicit 
04.
Dim oLBLn(20) As clsLabel 
05.
     
06.
Private Sub UserForm_Initialize() 
07.
Dim i As Integer 
08.
 For i = 0 To 20 
09.
    Dim LBL As MSForms.Label 
10.
    Set oLBLn(i) = New clsLabel 
11.
    Set LBL = Me.Controls.Add("Forms.Label.1", "LBL" & i, True) 
12.
    With LBL 
13.
        .Left = 10 
14.
        .Top = i * 25 
15.
        .Height = 20 
16.
        .Width = 50 
17.
        .Caption = .Name 
18.
    End With 
19.
    Set oLBLn(i).LBL = LBL 
20.
    Set LBL = Nothing 
21.
 Next i 
22.
End Sub 
23.
 
24.
Function aufruf(Lname As String) 
25.
MsgBox Lname 
26.
End Function
Viel Spaß damit

[Edit Biber] Codetaxx. [/Edit]
Bitte warten ..
Ähnliche Inhalte
Datenbanken

MySQL - Abfrage um letzte Einträge unterschiedlicher Objekte zu erhalten?

gelöst Frage von mabue88Datenbanken2 Kommentare

Hallo, ich sitze vor einer SQL-Abfrage, die ich einfach nicht hinbekomme. Folgende Tabelle liegt vor: Nun benötige ich eine ...

JavaScript

JQuery - Daten aus HTML-Oberfläche dynamisch abfragen

gelöst Frage von 94451JavaScript1 Kommentar

Hallo, ich habe eine "Maschinenoberfläche" bei der der Status dynamisch übertragen wird z.B. ein Balken lädt von 0 - ...

Festplatten, SSD, Raid

Laufzeit einer Seagate und WD Festplatte

Frage von srx2010Festplatten, SSD, Raid2 Kommentare

Hi, ich habe mir eine Seagate Surveillance und eine WD Red Festplatte gekauft. Jetzt möchte ich mittels eines SATA ...

Festplatten, SSD, Raid

Laufzeit von Festplatten im RAID anzeigen

Frage von 114801Festplatten, SSD, Raid20 Kommentare

Ich möchte gerne wissen, ob es möglich wäre, die Laufzeit einer Festplatte die sich im RAID befindet auszulesen bzw. ...

Neue Wissensbeiträge
Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 2 StundenInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Erkennung und -Abwehr

Ups: Einfaches Nullzeichen hebelte den Anti-Malware-Schutzt in Windows 10 aus

Information von kgborn vor 15 StundenErkennung und -Abwehr

Windows 10 ist das sicherste Windows aller Zeiten, wie Microsoft betont. Insidern ist aber klar, das es da Lücken, ...

Windows 10

Windows 10 on ARM: von Microsoft entfernte Info - Klartext, was nicht geht

Information von kgborn vor 17 StundenWindows 10

Windows 10 on ARM ist ja eine neue Variante, die Microsoft im Verbund mit Geräteherstellern am Markt etablieren will. ...

Microsoft
TV-Tipp: Das Microsoft-Dilemma
Information von kgborn vor 17 StundenMicrosoft10 Kommentare

Aktuell gibt es in Behörden und in Firmen eine fatale Abhängigkeit von Microsoft und dessen Produkten. Planlos agieren die ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1026 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Server
Route-Befehl Unterstützung (unter CMD)
gelöst Frage von FKRR56Server19 Kommentare

Guten Tag , i.M. habe ich Probleme über den CMD-Route-Befehl ein Routing auf einen entfernten Server zuzulassen. Der Server ...

Firewall
RB2011 Firewall Rule eine bestimmte Mac oder IP Adresse nicht zu blockieren
Frage von lightmanFirewall15 Kommentare

Hallo liebes Forum mit ihren Spezialisten. Ich habe meine Firewall so konfiguriert das kein Endgerät ohne meine Speziellen Erlaubnis ...

Humor (lol)
Was könnte man mit einem Server machen? Idee gesucht
Frage von 2SeitenHumor (lol)15 Kommentare

Hey Zusammen Ich habe einen alten HP G2 Rackserver zu Hause rumliegen. 28GB Ram, 1xAMD Prozi mit etwa 2GHz. ...