Public Sub LoopAttributes()

Dim oProject As CGLProject

Set oProject = New CGLProject

oProject.Init FE_Application.SessionContext

'load specific account

oProject.Load 23

Dim oAttribute As IBBAttribute

Dim feservice As FE_Services

Set feservice = New FE_Services

feservice.Init FE_Application.SessionContext

Dim oAtTypServer As CAttributeTypeServer

Set oAtTypServer = feservice.CreateServiceObject(bbsoAttributeTypeServer)

'bbGlobalAttributeType_GLAccount to specify what type of attribute you are looking for

oAtTypServer.Init FE_Application.SessionContext, bbGlobalAttributeType_GLProject

Dim lAttributeID As Long

Dim sDescription As String

For Each oAttribute In oProject.Attributes

   'Find the id of the Description of the attribute

   lAttributeID = oAttribute.Fields(Attribute_fld_ATTRIBUTETYPESID)

   'Find the string valuse of the attribute

   sDescription = oAtTypServer.GetAttributeTypeDescription(lAttributeID)


   Debug.Print sDescription

   Debug.Print oAttribute.Fields(Attribute_fld_VALUE)


Next oAttribute


Set feservice = Nothing


Set oProject = Nothing

End Sub

Disclaimer: We provide programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes you are familiar with Microsoft Visual Basic and the tools used to create and debug procedures. Our Customer Support can help explain the functionality of a particular procedure, but we will not modify, or assist you with modifying, these examples to provide additional functionality. If you are interested in learning more about the VBA and API modules, contact your account manager.