' Connect to the top-level ClearCase application object
Dim CC As New ClearCase.Application
Dim VOB as CCVOB
' Get a VOB from the top-level ClearCase application object
Set VOB = cc.VOB("\projects")
' Get the CCAttributeTypes collection from the VOB. Loop over the
' collection, gathering information about each attribute type
Dim AtType as CCAttributeType
Dim Str as String
For Each AtType In VOB.AttributeTypes
Str = Str & AtType.Name & ":" & vbCrLf & " Owner: " & AtType.Owner & _
"; Group: " & AtType.Group
Select Case AtType.Constraint
Case ccConstraint_None
' No constraint; don't add any ouput lines for this case
Case ccConstraint_PerElement
Str = Str & vbCrLf & " Constraint: one instance per element"
Case ccConstraint_PerBranch
Str = Str & vbCrLf & " Constraint: one instance per branch"
Case ccConstraint_PerVersion
Str = Str & vbCrLf & " Constraint: one instance per version"
Case Else
Str = Str & vbCrLf & " Unknown constraint type"
End Select
Select Case AtType.ValueType
Case vbLong
Str = Str & vbCrLf & " Value type: integer"
Case vbDouble
Str = Str & vbCrLf & " Value type: real"
Case vbDate
Str = Str & vbCrLf & " Value type: date-time"
Case vbString
Str = Str & vbCrLf & " Value type: string"
Case Else
Str = Str & vbCrLf & " Unknown value type"
End Select
On Error Resume Next
Str = Str & vbCrLf & " Default value: " & AtType.DefaultValue
On Error Resume Next
Str = Str & vbCrLf & " Lower value: " & AtType.LowerValue
On Error Resume Next
Str = Str & vbCrLf & " Upper value: " & AtType.UpperValue
' etc, etc: Add your favorite attribute type properties here
Str = Str & vbCrLf
Next
' Print the result
MsgBox Str