慕容揽月 发表于 2019-6-27 15:34:55

solidworks批量换工程图图框的VBA代码

第一步:将后缀为“.slddrt”的图纸格式文件放入此文件夹内,此图纸格式文件是自己需要的新图框。
第二步:将要替换模板的文件放入一个文件夹,将文件夹地址粘贴到相应的地方(程序中有备注)
第三步:用宏命令运行程序:

第一步的附图:

程序:
' ******************************************************************************
' C:\Users\Administrator\AppData\Local\Temp\swx8592\Macro1.swb - macro recorded on 06/26/19 by Administrator
' ******************************************************************************
Dim swApp As Object

Dim Part As Object
Dim boolstatus As Boolean





Dim longstatus As Long, longwarnings As Long, myPath$, myFile$
Dim i As Integer

Sub Main()



Set swApp = _
Application.SldWorks
myPath = "C:\Users\Administrator\Desktop\新建文件夹 (2)\" '把文件路径定义给变量,第二步中的路径填到此处。
myFile = Dir(myPath & "*.slddrw") '依次找寻指定路径中的*.文件
i = 0
Do While myFile <> ""
Set Part = swApp.OpenDoc6(myPath & myFile, 3, 0, "", longstatus, longwarnings)

Set Drawing = swApp.ActiveDoc
If Drawing.GetType <> 3 Then Exit Sub
RetoreSheetName = Drawing.GetCurrentSheet.GetName
SheetName = Drawing.GetSheetNames
SheetCount = Drawing.GetSheetCount
For i = 0 To SheetCount - 1
    Drawing.ActivateSheet SheetName(i)
    swTemplate = Drawing.GetCurrentSheet.GetTemplateName
    swTemplatePath = Split(swTemplate, "")
    swTemplate = swTemplatePath(UBound(swTemplatePath))
    vSheetProps = Drawing.GetCurrentSheet.GetProperties()
    Drawing.SetupSheet4 Drawing.GetCurrentSheet.GetName, 0, 0, vSheetProps(2), vSheetProps(3), vSheetProps(4), "", 1, 1, ""
    Drawing.SetupSheet4 Drawing.GetCurrentSheet.GetName, 12, 12, vSheetProps(2), vSheetProps(3), vSheetProps(4), swTemplate, 0, 0, ""
    vSheetProps = Drawing.GetCurrentSheet.GetProperties()
Next
Drawing.ActivateSheet RetoreSheetName

Part.Save
swApp.CloseDoc myPath & myFile

myFile = Dir '找寻下一个*.文件

Loop

End Sub

ィ心兂鎅 发表于 2019-6-27 16:01:35

感谢

远祥 发表于 2019-6-27 20:14:30

这种骚操作不用插件就能实现?

925269815 发表于 2019-6-27 23:26:40

有时间试试看,感谢

hdgd501 发表于 2019-6-28 12:52:17

好强大,谢谢楼主!!!

零度freedom 发表于 2019-6-28 16:53:35

楼主,有没有批量导入展开图的VBA,像图片这样的
或者钣金方面批量处理的VBA,比如批量改折弯系数 批量归类不同板厚零件的

nolility 发表于 2019-7-2 12:18:51

可以在solid works设置实现吗

念天悠 发表于 2020-2-22 10:03:37

感谢,学习了:)

mg172 发表于 2020-10-11 10:13:10

宏内部能否指定(图纸格式文件),现在运行宏,显示要选择图纸格式文件,能否不要互动窗口,直接指定某个文件进行替换

眸上有伤痕 发表于 2023-5-13 17:55:59

学习学习
页: [1] 2
查看完整版本: solidworks批量换工程图图框的VBA代码