Record Macros (VB.NET)
This example shows how to add two lines to one or more macro recording
sessions.
'---------------------------------------
' Preconditions:
' 1. Add a reference to
' SolidWorks.Interop.swcommands.
' 2. Run the macro.
'
' Postconditions:
' 1. A message box is displayed informing you that
' macro recording has started.
' 2. You are prompted to select Save as type. Your
' selection determines the languages to which
' to save macros.
' 3. Two lines of text are written
' to the macros in the languages
' corresponding to the Save as type you selected.
' 4. A message box is displayed informing you that
' macro recording has ended.
' 5. A message box is displayed asking you if you
' want to stop debugging. Click Yes.
' 6. Run the just-recorded macros to verify.
'--------------------------------------
Imports
SolidWorks.Interop.sldworks
Imports
SolidWorks.Interop.swconst
Imports
SolidWorks.Interop.swcommands
Imports System
Partial
Class SolidWorksMacro
Public
WithEvents swAppEvents
As SldWorks
Public
Sub Main()
' Set up events
swAppEvents = swApp
AttachEventHandlers()
' Start macro recording
swApp.RunCommand(swCommands_e.swCommands_RecordPauseMacro,
"")
' Write to VBA macro
swApp.RecordLine("'
Test")
swApp.RecordLine("MsgBox("
& Chr(34) & "C:\Test\" &
Chr(34) & ")")
' Write to C# macro
swApp.RecordLineCSharp("//
Test")
swApp.RecordLineCSharp("System.Windows.Forms.MessageBox.Show("
+ Chr(34) + "C:\\Test\\"
+ Chr(34) + ");")
' Write to VB.NET macro
swApp.RecordLineVBnet("'
Test")
swApp.RecordLineVBnet("MsgBox("
& Chr(34) & "C:\Test\" &
Chr(34) & ")")
' Stop
macro recording
swApp.RunCommand(swCommands_e.swCommands_StopMacro,
"")
End
Sub
Sub
AttachEventHandlers()
AttachSWEvents()
End
Sub
Sub
AttachSWEvents()
AddHandler
swAppEvents.BeginRecordNotify, AddressOf
Me.SwAppEvents_BeginRecordNotify
AddHandler
swAppEvents.EndRecordNotify, AddressOf
Me.swAppEvents_EndRecordNotify
End
Sub
Private
Function swAppEvents_BeginRecordNotify()
As
Integer
'Send message when
the macro recording starts
MsgBox("Macro
recording starting.")
End
Function
Private
Function swAppEvents_EndRecordNotify()
As
Integer
'Send message when
macro recording ends
MsgBox("Macro
recording ended.")
End
Function
'''
<summary>
''' The SldWorks swApp
variable is pre-assigned for you.
'''
</summary>
Public
swApp As SldWorks
End
Class