Går det att få publika konstanter i klassmoduler? Kolla på type-deklarationen. Det finns en sådan artikel i vb-sektionen. Jag försökte kolla på typedeklarationen, men filmen fungerade inte. Varför inte skriva: I och för sig, ja... Eh... hoppsan - nej inget As Long för mitt exempel.Publika konstanter i klassmoduler (VBA)
Jag vill inte ha en extra modul för 6 konstanter, och eftersom jag använder VBA finns ingen Enum, så frågan är helt enkelt om det finns något vettigt sätt att lösa det på. (eller om någon vet hur man kan fixa enums till VBA 98)
/Niklas JanssonSv: Publika konstanter i klassmoduler (VBA)
/PelleSv: Publika konstanter i klassmoduler (VBA)
Jag känner till type, och förstår nog inte riktigt hur du menar att det skulle hjälpa mig.
Jag behöver sex konstanter som skall användas som enums till klassen (man skall välja om celler skall döljas, färgas, osv.). Dessa vill jag inte deklarera utanför klassen, och inom klassen får de bara vara Private. Enum kan jag inte använda eftersom VBA inte har stöd för dem.
Frågan är: återstår det bara att göra funktioner som returnerar värdena?
Alltså:
'I class
Public Function Hide() As Long
Hide = 5
Ent Function
'Utanför
Dim L As Klassnamn
L.Execute L.Hide()
Att göra en type kommer visserligen att ge mig värden på ett någorlunda bestämt sätt, men det är konstantnamnen jag är ute efter. Jag vill slippa skriva "L.Execute 3".
/Niklas JanssonSv: Publika konstanter i klassmoduler (VBA)
Public Function Hide() As Long
call me.execute(5)
Ent Function
'Utanför
Dim L As Klassnamn
Call L.Hide()
i så fall?
Använder själv enum för de där sakerna så kan tyvärr inte hjälpa dig med
en smidigare lösning...
/EmmaSv: Publika konstanter i klassmoduler (VBA)
Det gör jag redan i en annan klass (fast det skall inte vara "function ...() as long", men du gjorde väl en copy-paste?).
Det är bara det att det känns så jäkla tråkigt med all lång och gammaldags kod i VBA. Inga enums, inga controlarrays (åtminstonde inte speciellt lätt), flera kontroller funkar inte, mycket syntaxfånerier (Sheet1.[A5], till exempel).
/Niklas JanssonSv: Publika konstanter i klassmoduler (VBA)
Borde läst det jag kopierade lite mer noggrant... Fast det förståss
du kan ju alltid använda det till felhantering om du vill... =)
/Emma