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

Currently, there are no open enrollment classes scheduled. Contact us to schedule an online or onsite training.

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

Terms & Conditions

Software Licenses and Hardware

Students are responsible for providing software licenses when attending any of EnvisionCAD’s open enrollment classes. Students who provide their own hardware are offered a $250 discount on registration fees.

Cancellation Policy for Open Enrollment Courses

  1. Substitutions of attendees may be made at any time.
  2. Cancellation requests must be received in writing, by email or fax. You are responsible for ensuring that EnvisionCAD receives your written request. EnvisionCAD will reply with a written acknowledgement.
  3. Attendees must cancel more than 15 business days prior to the course date to receive a full refund.
  4. Cancellations made 6 to 14 business days prior to the course date will result in forfeiture of 50% of the course fee.
  5. Cancellations made 3 to 5 business days prior to the course date will result in forfeiture of 75% of the course fee.
  6. Cancellations made 2 or less business days prior to the course date, or failure to appear for the course, will result in forfeiture of the entire course fee.
  7. EnvisionCAD reserves the right to cancel or reschedule open enrollment courses at any time. If we cancel or reschedule a course due to weather or other unforeseen circumstances beyond our control, you are entitled to a full refund. But EnvisionCAD is not responsible for travel arrangements, travel fees, or any expenses incurred by you as a result of such cancellation. In the event we cancel a course in which you are enrolled, you will be contacted via email and/or phone using the information you provided when you registered. Please be sure to provide up to date contact information.


12 chapters | 180 pages View topics covered

Get the eBook and read it anywhere. Buy or rent our eBooks through VitalSource. They are 100% offline and include interactive study tools.

Purchase eBook

Let's do this. Submit the information below and an EnvisionCAD representative will be in touch to see how we can bring this class to you.

Fill out my online form.

Stay put. Instructor-led online training can be set up for you or your group. Submit the info below and we'll be in touch.

Fill out my online form.


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