Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I am fairly new to VBA and am working on a project where a simple Object
structure could be useful. Most of my previous scripting has been with php and javascript, both of which blur the distinction between Classes and Objects so I am pretty fuzzy on it myself. With javascript you can define a variable as an Object and simply assign properties to it: var myObject = New Object () myObject.name = "My Name" This can be very easy to work with and useful. This is what I have come up with for a slightly more complex VBA equivalent. If there is a better way to structure it I would appreciate the feedback. In a class module called DRec I have: Option Explicit Public sf As String Public tf As String Public oa As Boolean Public del As Boolean Public aso As String Public codes As String Public t As String Public tfa As String Public ttb As String Public k As String Public kfa As String Public ktb As String Public m As String Public mfa As String Public mtb As String Sub docc() MsgBox "DRec Test " & m & " : " & t End Sub Then in a standard module I have: Function docArray(sf As String, Optional tf As String = "", _ Optional oa As Boolean = True, Optional del As Boolean = True, _ Optional aso As String = "", Optional codes As String = "", _ Optional t As String = "", Optional tfa As String = "", Optional ttb As String = "", _ Optional k As String = "", Optional kfa As String = "", Optional ktb As String = "", _ Optional m As String = "", Optional mfa As String = "", Optional mtb As String = "" _ ) As DRec Dim ar(1 To 15) As Variant Dim tRec As DRec Set tRec = New DRec tRec.tf = tf If tf = "" Then tf = sf tRec.sf = sf tRec.tf = tf tRec.oa = oa tRec.del = del tRec.aso = aso tRec.codes = codes tRec.t = t tRec.tfa = tfa tRec.ttb = ttb tRec.k = k tRec.kfa = kfa tRec.ktb = ktb tRec.m = m tRec.mfa = mfa tRec.mtb = mtb Set docArray = tRec End Function Sub testDRec() Dim v As DRec Set v = docArray(sf:="Daily Bulletin Folder", codes:="ABC", t:="Daily Bulletin", m:="emailBody") v.docc End Sub Any pointers to better formulation much appreciated Andrew |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
How does one create a delete property of a user defined class? | Excel Programming | |||
User-defined type collection in class module | Excel Programming | |||
Creating my own user defined function help statements | Excel Worksheet Functions | |||
User Defined Object help fast | Excel Programming | |||
Creating a action for a defined object | Excel Programming |