You are currently reviewing an older revision of this page.
Original Article Date: July 19, 2002
Execute a BASIC macro (or run commands) every time a file is opened.2003-11-24 Included notes from MicroStation /J's ReadMe file.2005-09-27 Confirmed workflow in MicroStation V8.
This following information will allow you to configure MicroStation /J or V8 to execute a startup macro each time a DGN file is opened.
Copy the .ma and .dll to the installation folder .../mdlsys/asneeded/
Finally, define the following new variables:
MS_DGNAPPS > runmacro
Now everytime you open a file the macro name RunMe will be kicked off. And what's really cool about this is that you can even configure MicroStation to run a suite of macros. In that case you would set MS_DGNMACROS as follows:MS_DGNMACROS=The_First_Macro_to_run.baMS_DGNMACROS>The_Second_Macro_to_run.bas
2003-11-24:The following notes were posted to v8.general newsgroup by Bentley's Phil Chouinard and can also be found in MicroStation /J's ReadMe:
The configuration variable MS_MACRO is used to define the folders that contain the macros.
If RunMacro is defined in MS_INITAPPS, MicroStation /J will ignore any command line parameters and the MicroStation Manager dialog box will be opened after all macros have been completed.RunMacro can be run as both an INITAPP and a DGNAPP.
Any number of macros may be included in either the MS_INITMACROS or MS_DGNMACROS configuration variables. Simply separate the macro names with a semi-colon when using MicroStation/J's Configuration Variables dialog box, or use the ">" sign as shown above.
MicroStation BASIC macro names may be specified in the configuration variables with no extension, .BA extension, or .BAS extension.
MS_INITMACROS [is] run before a design file is opened. Therefore, the macro must not access any design file objects or attempt to do anything which requires an open design file.
Source code for RunMacro is provided with MDE. RunMacro starts MicroStation/J graphics environment using mdlSystem_enterGraphics. However, this MDL application may be modified to not start the graphics environment. In this case, the application must not perform any MicroStation BASIC function which requires graphics (like opening a dialog box, for example).
AskInga Article #116