|
6#

楼主 |
发表于 2022-11-17 11:21:31
|
只看该作者
现在把代码贴出来,本人小白有几个问题,请各位大神帮忙解决下:
1.此宏点确定执行不了,点关闭 “X” 可以运行
2.名称那栏的属性能不能改为自动获取路径中焊件轮廓文件所在的文件夹的名称
3.写入属性时能不能不打开文档
'~~~~~~~~~~~~~~~~~~~~~~
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc
Dim Part As Object
Dim sFileName As String
Dim nFileName As String
Dim path As String
Dim nPath As String
Dim nErrors As Long
Dim nWarnings As Long
Dim Code_Vaule As String
Sub main()
Set swApp = Application.SldWorks
path = InputBox("输入含有焊件轮廓模板的文件夹路径 (For example '' D:\sw\GB焊件轮廓库\ '' )", "输入文件夹路径") '键入存档路径
sFileName = Dir(path & "*.SLDLFP") '取出档名 *.SLDLFP
Do Until sFileName = ""
Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '开档 SLDLFP
Set Part = swApp.ActiveDoc
'~~~ 在自定义属性 ~~~
Code_Vaule = Left(sFileName, Len(sFileName) - 7) '用原文件名称
blnretval = swModel.DeleteCustomInfo("Description") '删除说明
blnretval = swModel.DeleteCustomInfo("代号") '删除代号
blnretval = swModel.DeleteCustomInfo("名称") '删除名称
blnretval = swModel.AddCustomInfo3("", "代号", swCustomInfoText, Code_Vaule) '代号写入自定义属性
blnretval = swModel.AddCustomInfo3("", "名称", swCustomInfoText, "矩形管") '名称写入自定义属性?
Set swModel = swApp.ActiveDoc
swModel.Save '存档
swApp.CloseDoc swModel.GetTitle '关档
Set swModel = Nothing
sFileName = Dir '取出档名
Loop
MsgBox ("属性写入完成")
End Sub
|
|