Vraag : Klassen VBA

Ik heb nu een aantal functies met behulp van de deskundigen. Deze kunnen over veelvoudige gegevensbestanden worden gebruikt. is het beter om deze functies in een klassenmodule met methodes en terugkeer de waarden enkel kopiërend en klevend de functies in een normale module te houden te krijgen of toe te voegen?

Antwoord : Klassen VBA

Ik werk met heel wat klassen en vind toen zeer nuttig, maar ik ga met Jim op dit één akkoord - er is weinig reden om klassen voor nutsfuncties tot stand te brengen. De klassen zijn zeer nuttig ALS u meer dan één van het zelfde punt moet tot stand brengen - bijvoorbeeld, als u klassen moet tot stand brengen om de eigenschappen van te houden dozijn Voertuigen - maar voor nutsfuncties zult u tegelijkertijd één van die slechts gebruiken.

In specifieke achting aan uw isse:

Sub voertuigen ()
De schemerige Auto als Voertuig 'DIT IS FIJN GEVONDEN VOERTUIG
De vastgestelde Auto = Nieuw Voertuig 'NA NIEUW VOERTUIG VERSCHIJNT niet
Sub van het eind

U wijst erop dat de naam van uw KLASSE „DataTests“, niet „Voertuig“ is. Het voertuig is een User-Defined Type in de Module van de Klasse genoemd wordt verklaard DataTests, en aangezien zulke u niet aan het (de kwestie van feit, zal u het imposisble om met een UDT vinden te werken bepaalt in een Module van de Klasse van buitenkant die module die indelen) zult kunnen krijgen. UDTs wordt over het algemeen gebruikt als interne gegevensstructuren binnen de klasse, en de Eigenschappen van de klasse worden gebruikt om input-output to/from te behandelen de klasse. UDT wordt eenvoudig gebruikt om de gegevensbinnenkant op te slaan die instantie van calss.

De correcte manier te doen die is:

Schemerige Auto als DataTests
Vastgestelde Auto = Nieuwe DataTests

Msgbox Car.bHP

Ook, is er weinig reden om zowel (a) een UDT als (b) individuele variabelen te gebruiken om interne klassengegevens op te slaan. Gebruik één of andere, niet allebei.




Andere oplossingen  
 
programming4us programming4us