要想采用VBA进行二次开发,读懂宏程序指令的含义,第一必须清楚宏程序的大致的运行工作原理。

下面以宏录制工具录得的新建零件文件宏程序为例,简要的说明宏工作的原理。

程序用到的变量进行声明:
采用Dim方法进行变量声明,Dim为Dimension的缩写,后面加上所需变量的名字。
例如:Dim swApp as Object,它的作用是定义了变量的名称为swApp,类型为Object。本例中分别定义了Object,Boolean,Long三种变量类型,关于变量的数据类型在此不详做介绍,计划后面会有文章进行详细介绍。
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long

程序入口:
Sub main()
sub是一个关键字,表明这是一个过程;main()是一个函数名,是主程序的意思,也表明程序入口,VB默认是从Main()过程开始执行。
main函数中包含的是当宏启动时第一执行的代码,如用户窗体的浮现等。

程序链接
Set swApp = Application.SldWorks
此指令的功能是开始或链接一个solidworks程序,后面的程序代码中将以swApp表明solidworks程序,通过这个指令将宏代码和solidworks软件建立了联系。
功能注释
' New Document
功能性注释文字,程序运行时不执行,仅说明后面的代码功能,这里说明的是后续功能执行的是新文档。

dim 指令为重新定义变量。
swSheetWidth = 0在这里没有实际意义,可以注释掉。

API的调用

Set Part = swApp.NewDocument(“H:sw工程图模板文件模板零件模板.prtdot”, 0, swSheetWidth, swSheetHeight)
新文件的创建,根据默认的设定模板生成新文件。
Dim swPart As PartDoc
定义变量
Set swPart = Part
swApp.ActivateDoc2 “零件1”, False, longstatus
Set Part = swApp.ActiveDoc
设为当前活动文件
'Dim myModelView As Object
'Set myModelView = Part.ActiveView
'myModelView.FrameState = swWindowState_e.swWindowMaximized
无效录制代码,可以注释掉。
' Save As
longstatus = Part.SaveAs3(“C:UsersKZDesktop新建文件夹零件1.SLDPRT”, 0, 0)
新文件保存功能执行。
宏程序启动后第一运行的代码都会在这里,主程序的代码有时比较简单,也可能只有一个窗口的浮现功能。
程序结束
End Sub
End Sub是一个过程的结束代码,每一个SUB中必须应对一个END SUB。

SW新建文件的宏程序运行过程大致就是这样子,只是协助理解大致的VBA程序运行原理。
欢迎点赞、关注、评论区交流。

收藏了,感谢分享