MicroStation VBA Fundamentals

This 2-day course is for non-programmers to learn how to create their own MicroStation VBA macros to increase productivity for repetitive tasks and add their own commands to the MicroStation environment. The class will cover use of the VBA editor including designing VBA user forms, and modules.

Madison, WI
16 Hour Class

Contact us to schedule an online or onsite training.

When you register you are agreeing to our Terms & Conditions.

Description

  • VBA Basics:
    • Workspace Configuration Variables
    • General Rules/Tips for MVBA
    • VBA Project Manager Dialog
    • Creating, Editing, Recording, Running, and Autoloading a New MVBA
    • Run a MVBA from a Key-in
    • VBA Editor and Project Explorer
    • Properties Window
    • Edit Toolbar
    • Special Characters
    • Using VBA Help
    • Protecting VBAs
    • Message Boxes
  • Variables, Arrays and Collections:
    • Variables
    • Declaration
    • Variable Naming
    • Common VBA Data Types
    • Common MicroStation Data Types
    • Constants, Scope, and Enumerations
    • Converting Between Data Types
    • User-Defined Types
    • Arrays
    • Declaration
    • Resizing
    • Checking Array Boundaries
    • Multi-Dimensional Arrays
    • Collections
    • Using the With Statement
    • Declaring Variables
  • Procedures:
    • Subroutines
    • Functions
    • Optional Arguments
    • By Reference or By Value
    • Calling Subroutines and Functions
  • Decision Structures and Loops:
    • Conditional Expressions
    • Arithmetic Operators
    • Comparison Operators
    • Logical Operators
    • Decision Structures
    • If Then, IIf, and Select Case Statements
    • Loops, For…Next, and Do Loop
  • User Forms:
    • Creating UserForms
    • Form Properties
    • UserForm Toolbox
    • Select Objects
    • Label
    • TextBox, ComboBox, ListBox, and CheckBox
    • OptionButton
    • Frame
    • CommandButton
    • Programming Control Events
    • Click Event
    • Other Control Events
    • Verifying UserForm Text Inputs
    • Interface Related Code Only
    • UserForm Management
    • Show, Hide, and Unload
    • UserForms Collection
    • Modal vs. NonModal
    • More on Message Boxes
    • InputBox
  • String Manipulations:
    • String Comparisons
    • Len, StrComp, and Conversions
    • LCase$, UCase$, StrConv, StrReverse, and Search and Replace
    • InStr, InStrRev, Replace, Split and Join, Split, and Join
    • &, Trimming, Trim$, LTrim$, and RTrim$
    • Extracting Parts of a String, Left$, Right$, Mid$, Formatting, and Format$
  • Class Modules:
    • Creating and using the contents of a Class Module
  • Interacting With MicroStation:
    • CadInputQueue, GetInput, SendCommand, SendDataPoint, SendKeyin, SendLastInput, SendReset, and SendTentativePoint
    • CommandState, LastDataPoint, LastView, StartDefaultCommand, and Messages
    • ShowCommand, ShowError, ShowPrompt, ShowStatus, and ShowMessage
    • Tool Settings Key-ins
    • Passing Arguments to a Macro
  • MicroStation Properties:
    • DesignFile, ActiveDesignFile, ModelReference, and ActiveModelReference
    • Graphics Settings, ActiveSettings, WorkSpace, ActiveWorkSpace, and Windows Settings
  • Element Processing:
    • Element Enumerator
    • Build From Element Scan Criteria, Build From Selection Set, Build From Fence, and Build From Complex Element
    • Process Element Enumerator, Recursion, General Element Properties and Methods
    • IsGraphical, Type, Level, Color, Line Style, Line Weight, DisplayPriority, Transparency, GraphicGroup, and Range
    • ConstructVertexList, Mirror, Mirror3D, Move, Rotate, RotateAboutZ, ScaleAll, ScaleUniform, Rewrite, and Redraw
  • Creating New Elements:
    • Line Elements, Arc Elements, Ellipse Elements, Shape Elements, and Text Elements
    • TextNode Elements, Cell Elements, ComplexString Elements, and ComplexShape Elements
  • Autorun a VBA:
    • Module Containing OnProjectLoad
    • Class Module Containing Event Handler
  • Error Handling and Debugging:
    • Error Handling, Error Object, Basic Error Handling, and Advanced Error Handling
    • Other Uses for On Error GoTo, Debugging, Debug Toolbar, and Debug Function