Sub ReadPrp()
Set swApp = CreateObject("SldWorks.Application") '启动SW
ReadFilesCount = 0
HeaderRow = 2
RowNumber = HeaderRow + 1
PathName = Cells(RowNumber, 2) '读取第一个路径的值
While Not (PathName = "" Or PathName = 0 Or IsEmpty(PathName)) '直到读完路径栏
FileName = Cells(RowNumber, 3) & "." & Cells(RowNumber, 4)
If UCase(Right(FileName, 3)) = "PRT" Then swFileTYpe = 1
If UCase(Right(FileName, 3)) = "ASM" Then swFileTYpe = 2
' If UCase(Right(Filename, 3)) = "DRW" Then swFileTYpe = 3
Set swDoc = Nothing
If Dir(PathName & FileName) "" Then
Set swDoc = swApp.OpenDoc(PathName & FileName, swFileTYpe) '开启档案
End If
If Not swDoc Is Nothing Then
ColumnNumber = 6
PropName = Cells(HeaderRow, ColumnNumber)
While Not (PropName = "" Or PropName = 0 Or IsEmpty(PropName)) '直到读完表头
PropValue = swDoc.CustomInfo2("", PropName) '获取属性
Sheet1.Cells(RowNumber, ColumnNumber) = PropValue
ColumnNumber = ColumnNumber + 1 '下一栏
PropName = Cells(HeaderRow, ColumnNumber)
' If swFileTYpe = 2 And ColumnNumber = 10 Then ColumnNumber = 13 '组件跳过读取零件的材料属性
Wend '回到>直到读完表头
这个 读取自定义 属性的 如何改成读取 配置属性的?????
Sub WritePrp()
Set swApp = CreateObject("SldWorks.Application") '启动SW
SavedFilesCount = 0
HeaderRow = 2
RowNumber = 3
RowNumber = HeaderRow + 1
PathName = Cells(RowNumber, 2) '读取第一个路径的值
While Not (PathName = "" Or PathName = 0 Or IsEmpty(PathName)) '直到读完路径栏
FileName = Cells(RowNumber, 3) & "." & Cells(RowNumber, 4)
If UCase(Right(FileName, 3)) = "PRT" Then swFileTYpe = 1
If UCase(Right(FileName, 3)) = "ASM" Then swFileTYpe = 2
If UCase(Right(FileName, 3)) = "DRW" Then swFileTYpe = 3
Set swDoc = Nothing
If Dir(PathName & FileName) "" Then
Set swDoc = swApp.OpenDoc(PathName & FileName, swFileTYpe) '打开文件
End If
If Not swDoc Is Nothing Then
ColumnNumber = 6
PropName = Cells(HeaderRow, ColumnNumber)
If PropName = "材料" And swFileTYpe = 2 Then GoTo 200
If PropName = "材料厚度" And swFileTYpe = 2 Then GoTo 200
While Not (PropName = "" Or PropName = 0 Or IsEmpty(PropName)) '直到读完表头
' ConfigName = Cells(RowNumber, 3)
PropValue = Cells(RowNumber, ColumnNumber)
If Len(PropValue) > 0 Then
swDoc.DeleteCustomInfo2 ConfigName, PropName '删除属性
swDoc.AddCustomInfo3 ConfigName, PropName, 30, PropValue '新增属性
End If
' If ColumnNumber = 9 And swFileTYpe = 2 Then
' ColumnNumber = ColumnNumber + 3
' End If
ColumnNumber = ColumnNumber + 1 '下一栏
PropName = Cells(HeaderRow, ColumnNumber)
200
Wend '回到>直到读完表头
Dim lErrors As Long
Dim lWarnings As Long
SaveOk = swDoc.Save3(1, lErrors, lWarnings)
swApp.CloseDoc PathName & FileName '关闭工程图
If SaveOk Then
Cells(RowNumber, 2).Interior.Color = RGB(255, 255, 127)
SavedFilesCount = SavedFilesCount + 1
End If
End If
这个 输入自定义 属性的 如何改成输入到 配置属性的?????
哪位高手 指导一下
|