Learning MicroStation VBA

Our design files range in complexity from one or two elements to many thousands. The number of elements can vary as well as the element types (lines, circles, arcs, text) and colors. Levels, line styles and classes can differ from element to element. Line weights and transparency can also vary. As we begin searching in our files, we will learn how to discover these properties we find in our files.
Let's begin by examining each element found in a file.
Sub <b class="bold">TestScanAllA</b>() Dim myElement As Element Dim myEnum As ElementEnumerator Set myEnum = ActiveModelReference.Scan() While myEnum.MoveNext Set myElement = myEnum.Current Debug.Print myElement.Type WendEnd Sub

This procedure prints the type property value of each element in the active model to the Immediate Window.
Running the procedure TestScanAllA results in a list of numbers telling us the type of element found. This number references the msdElementType enumeration.
Here is a listing of the msdElementType enumeration's members:
msdXDatumTypeWorldSpacePositionmsdElementType44 = 44msdElementTypeArc = 16msdElementTypeBsplineBoundary = 25msdElementTypeBsplineCurve = 27msdElementTypeBsplineKnot = 26msdElementTypeBsplinePole = 21msdElementTypeBsplineSurface = 24msdElementTypeBsplineWeight = 28msdElementTypeCellHeader = 2msdElementTypeCellLibraryHeader = 1msdElementTypeComplexShape = 14msdElementTypeComplexString = 12msdElementTypeCone = 23msdElementTypeConic = 13msdElementTypeCurve = 11msdElementTypeDesignFileHeader = 9msdElementTypeDgnStoreComponent = 38msdElementTypeDgnStoreHeader = 39msdElementTypeDigSetData = 8msdElementTypeDimension = 33msdElementTypeEllipse = 15msdElementTypeGroupData = 5msdElementTypeLevelMask = 99msdElementTypeLevelSymbology = 10msdElementTypeLine = 3msdElementTypeLineString = 4msdElementTypeMatrixDoubleData = 103msdElementTypeMatrixHeader = 101msdElementTypeMatrixIntegerData = 102msdElementTypeMeshHeader = 105msdElementTypeMicroStation...