ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Calling Classes from Classes (https://www.excelbanter.com/excel-programming/385915-calling-classes-classes.html)

J Streger

Calling Classes from Classes
 
I have several Class modules set up, each representing a larger scope than
the next, so they tier into each other. I was trying to get a string and
couldn't get it to work. The Line I tried was:

sElement = WBSStructure.WorkProduct(inx).Element(iny).Name

Below is a simplified version of the element class, and the workproduct is
similar. I noticed in order to get that nice Illisense I needed to have the
function return cElement, but that is causing an error when i try to retunr
anything other than the class object. Any help would be appreciated, as
Chip's taught me enough to get myself in trouble (No offense Chip :P)

Private pNameWP As String
Private pElementsWP As New Collection

Property Let Name(S As String)
pNameWP = S
End Property

Property Get Name() As String
Name = pNameWP
End Property

Public Function Element(index As Integer) As cElement

If index pElementsWP.Count Or index < 1 Then
Err.Raise 9
Else
Element = pElementsWP(index)
End If

End Function
--
*********************
J Streger
MS Office Master 2000 ed.
MS Project White Belt 2003


Vergel Adriano

Calling Classes from Classes
 
J,

Because your Element function is returning an object, instead of this way

Element = pElementsWP(index)

try it this way

set Element = pElementsWP(index)


--
Hope that helps.

Vergel Adriano


"J Streger" wrote:

I have several Class modules set up, each representing a larger scope than
the next, so they tier into each other. I was trying to get a string and
couldn't get it to work. The Line I tried was:

sElement = WBSStructure.WorkProduct(inx).Element(iny).Name

Below is a simplified version of the element class, and the workproduct is
similar. I noticed in order to get that nice Illisense I needed to have the
function return cElement, but that is causing an error when i try to retunr
anything other than the class object. Any help would be appreciated, as
Chip's taught me enough to get myself in trouble (No offense Chip :P)

Private pNameWP As String
Private pElementsWP As New Collection

Property Let Name(S As String)
pNameWP = S
End Property

Property Get Name() As String
Name = pNameWP
End Property

Public Function Element(index As Integer) As cElement

If index pElementsWP.Count Or index < 1 Then
Err.Raise 9
Else
Element = pElementsWP(index)
End If

End Function
--
*********************
J Streger
MS Office Master 2000 ed.
MS Project White Belt 2003


J Streger

Calling Classes from Classes
 
OK, now I feel kinda foolish. Thanks. :)

--
*********************
J Streger
MS Office Master 2000 ed.
MS Project White Belt 2003



"Vergel Adriano" wrote:

J,

Because your Element function is returning an object, instead of this way

Element = pElementsWP(index)

try it this way

set Element = pElementsWP(index)


--
Hope that helps.

Vergel Adriano


"J Streger" wrote:

I have several Class modules set up, each representing a larger scope than
the next, so they tier into each other. I was trying to get a string and
couldn't get it to work. The Line I tried was:

sElement = WBSStructure.WorkProduct(inx).Element(iny).Name

Below is a simplified version of the element class, and the workproduct is
similar. I noticed in order to get that nice Illisense I needed to have the
function return cElement, but that is causing an error when i try to retunr
anything other than the class object. Any help would be appreciated, as
Chip's taught me enough to get myself in trouble (No offense Chip :P)

Private pNameWP As String
Private pElementsWP As New Collection

Property Let Name(S As String)
pNameWP = S
End Property

Property Get Name() As String
Name = pNameWP
End Property

Public Function Element(index As Integer) As cElement

If index pElementsWP.Count Or index < 1 Then
Err.Raise 9
Else
Element = pElementsWP(index)
End If

End Function
--
*********************
J Streger
MS Office Master 2000 ed.
MS Project White Belt 2003



All times are GMT +1. The time now is 07:31 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com