Adding error handlers to your code is very import to enable you to fix errors that come up from users. This allows them to easily pass the info on so that the developer can fix. Without error handlers, the code will either skip the errors or just bring up a confusing pop of that the… Continue reading Understanding On Error Resume next
Move Coordinates of Polyline After It Is Already Drawn
Sub MoveCoordinatesPolylineAfterAlreadyDrawn() Dim VFG(7) As Double Dim retCoord(0 To 1) As Double Set acadApp = GetObject(, "AutoCAD.Application") Set acadDoc = acadApp.ActiveDocument Set objss = acadDoc.SelectionSets.Add("ToErase") objss.Select acSelectionSetAll objss.Erase objss.Delete VFG(0) = 0: VFG(1) = 0 'vertex 1 VFG(2) = 0: VFG(3) = -5 'vertex 2 VFG(4) = 10: VFG(5) = -5 'vertex 3 VFG(6) =… Continue reading Move Coordinates of Polyline After It Is Already Drawn
Plot With Layout and Plot Offset
If you right click on a tab you can bring up page setup manager. In the page setup manager select plot with Layout. when I hit print preview it will not be centered This is also evident in the layout when you have your options set as 'Display printable area' and 'display paper background'. to… Continue reading Plot With Layout and Plot Offset
Draw on UCS Front View
Instead of drawing on the default top view. The code below will show how to draw on the front view Sub test() Dim pointUCS As Variant Dim circleObj As AcadCircle Dim centerPoint(0 To 2) As Double Set acadApp = GetObject(, "AutoCAD.Application") Set acadDoc = acadApp.ActiveDocument ' set the world ucs With acadDoc Set currUCS =… Continue reading Draw on UCS Front View
Add a Viewport and Show Front View
This will create a viewport in paper space and instead of the standard top view, the viewport will show as the front view center(0) = 5.4682: center(1) = 1.4055 dblviewdirection(0) = 0: dblviewdirection(1) = -1: dblviewdirection(0) = 0 Set pviewportObj = acadDoc.PaperSpace.AddPViewport(center, vpwidth, 2.2565) pviewportObj.direction = dblviewdirection pviewportObj.Layer = "viewport" pviewportObj.Display True acadDoc.MSpace = True… Continue reading Add a Viewport and Show Front View
Veiwports with TranslateCoordinates and CHSPACE
The code below will draw a viewport in paper space and zoom to an area in model space. It will then create a circle in model space and then change that circle to to papers pace while still keeping the circle in the same location. Note: for this to work, the MSpace has to be… Continue reading Veiwports with TranslateCoordinates and CHSPACE
ByRef vs ByVal
When passing arguments to a procedure (sub or function) the default will be 'byRef' in Excel VBA, thus you don't have to write 'byRef' before the variable. If you want to pass ByVal you have to explicitly write 'ByVal' before the variable. When using ByVal you are only passing a copy of the argument to… Continue reading ByRef vs ByVal
Run a Macro at a Specific Time
Sub ImportModules() Debug.Print "test" End Sub Private Sub Workbook_Open() Application.OnTime Now + TimeValue("00:00:01"), "domeprog.ThisWorkbook.ImportModules" End Sub The code above will run the macro called 'ImportModules' one second after the workbook is opened. If the macro is located in a class module or in ThisWorkbook class, then you will need to call out the library +… Continue reading Run a Macro at a Specific Time
Add items to a UserForm ComboBox
When you don' t want the user to input their own value, set the combobox style to 2. This will force the user to pick from the list of items. The default style is 0, it will behaves as a drop-down combo box or a region to type any value. ComboBox54NozzleSize.sytle = 2 '0=fmStyleDropDownCombo '2=fmStyleDropDownList… Continue reading Add items to a UserForm ComboBox
Public Variables in VBA
USE CAUTION! Any time you declare a variable as public it is important to understand all the consequences and how they behave. In order to make a variable public it has to have the keyword 'Public' rather than 'dim'. It also has to be declared in a module before the first procedure declaration. It does… Continue reading Public Variables in VBA