Record Macros (VBA)
This example shows how to add two lines to one or more macro recording
sessions.
Main module
'---------------------------------------
' Preconditions:
' 1. Add a reference to swcommands.tlb.
' 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. Run the just-recorded macros to verify.
'--------------------------------------
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swAppEvents As New Class1
Set swApp = Application.SldWorks
' Set up events
Set swAppEvents.swApp = swApp
' Start macro recording
swApp.RunCommand 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_StopMacro, ""
End Sub
Class module
Option Explicit
Public WithEvents swApp As SldWorks.SldWorks
Private Function swApp_BeginRecordNotify() As Long
'Send message when the macro recording starts
MsgBox "Macro recording starting."
End Function
Private Function swApp_EndRecordNotify() As Long
'Send message when macro recording ends
MsgBox "Macro recording ended."
End Function