QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 3611|回复: 19
收起左侧

[求助] 批量更改属性宏代码求助?添加属性的?

[复制链接]
发表于 2016-1-11 11:11:38 | 显示全部楼层 |阅读模式 来自: 中国上海

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 litao036 于 2016-1-12 10:23 编辑 3 s0 C0 S- I8 V# L. F
8 t' d4 |( o" C! A- P# r  E7 M

# H$ X- N& N3 U  B7 k8 N
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 '回到>直到读完表头
1 h- N* ^& f* H1 W+ r9 z) E; R
这个 读取自定义 属性的  如何改成读取 配置属性的?????
" g3 K& S0 K3 M
8 B6 Z0 d9 K! \! D$ t, z! e
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
这个 输入自定义 属性的  如何改成输入到 配置属性的?????
哪位高手 指导一下
+ H! T" ^7 r5 l' v

7 f+ c& J# K6 L1 }& `# W% x

  ~6 ]. Y3 H5 o6 T; [0 @- M
发表于 2016-1-11 11:25:06 | 显示全部楼层 来自: 中国浙江嘉兴
http://www.3dportal.cn/discuz/fo ... ead&tid=1451365
! o( ?; g+ X: }* m- j# p$ ?! F, G5 P" B# m2 H

  \) B- a2 W" B2 W7 H有關 配置属性 如上可參考看看
 楼主| 发表于 2016-1-11 11:33:45 | 显示全部楼层 来自: 中国上海
好的  谢谢
 楼主| 发表于 2016-1-11 12:57:06 | 显示全部楼层 来自: 中国上海
这个还是 改不好   有哪位高手 帮我直接改一下  贴出来  谢谢了
发表于 2016-1-11 13:21:57 | 显示全部楼层 来自: 中国浙江嘉兴
本帖最后由 ryouss 于 2016-1-11 13:33 编辑 * M$ ]& l8 D( v; t. r

0 ?8 q4 C6 J+ q+ A# xSub ReadPrp()  及 Sub WritePrp()    之編程皆不完整 (兩個宏都沒有 END SUB)$ M" e- [+ g& j' S

% J4 n7 y/ X3 Z5 x( r- v需要幫助請重新上傳原始SWP檔
/ m# w. {0 O0 m- i8 S
) ~2 R' t# h+ x% D$ t% E# B* Q
1 U9 [2 w( s  D8 F, r: l是配合EXCEL操作的嗎?   是的話也需上傳EXCEL檔 4 Q8 r, d1 Z2 j

! M8 T0 y; `, s+ H/ S* P# w; U4 s) l4 l7 B3 O
 楼主| 发表于 2016-1-11 13:51:30 | 显示全部楼层 来自: 中国上海
我已经发给你了 网盘  帮我看一下 改改 谢谢了
发表于 2016-1-11 14:32:39 | 显示全部楼层 来自: 中国浙江嘉兴
litao036 发表于 2016-1-11 13:51
, o% K7 x" p) ?* b8 Q我已经发给你了 网盘  帮我看一下 改改 谢谢了

' s& q$ r! z- v無法操作; ]5 o& q$ G$ H  `" n% x& D. j% \7 i

- I5 ~- X8 r7 b, y* a% i5 z) t$ @ 編輯錯誤.jpg
: N+ c4 c- P+ I; {; Q
& P# Y  L0 `7 K. [2 x0 ?
 楼主| 发表于 2016-1-11 14:37:31 | 显示全部楼层 来自: 中国上海
你是32 位系统?

点评

win7 64位元  发表于 2016-1-11 14:44
 楼主| 发表于 2016-1-11 14:42:34 | 显示全部楼层 来自: 中国上海
你注册一下  试试   QQ截图20160111144159.png
 楼主| 发表于 2016-1-11 14:45:53 | 显示全部楼层 来自: 中国上海
Solidworks 批量改名改属性工具.zip (141.15 KB, 下载次数: 61)
 楼主| 发表于 2016-1-11 14:51:42 | 显示全部楼层 来自: 中国上海
ryouss 发表于 2016-1-11 14:32, H/ J  {: Y; s4 O- @+ T% R
無法操作
' [% Z: P) s$ P, J3 [  q4 V' w. a
我从新上传了  你在看看 哈哈
发表于 2016-1-11 15:00:03 | 显示全部楼层 来自: 中国浙江嘉兴
本帖最后由 ryouss 于 2016-1-11 15:06 编辑 # n6 ~0 C; ]& [

+ M6 S+ F  d" O- i( x點了 "系統註冊控件" 已不顯示錯誤了7 F% ~% Z7 g+ P' ~! T  r' H  G
/ ]  m; Q) o) M* C' U: k
但是 點了 "系統註冊控件"  什麼也沒動作" o4 M- T0 N; J% E! X5 X* q' q  d

7 ?' [' f3 X3 x/ g7 J應該陳述下如何操作
& e. z# |( V. F1 cexcel也是2010,宏的簡体字全部轉成繁体,就不知道是不是註冊繁版的因素.
  E$ t; U* A) X5 W* W. M+ O- P
发表于 2016-1-11 15:18:04 | 显示全部楼层 来自: 中国浙江嘉兴
另工程圖也用不到  配置屬性( h: E# m/ A0 o6 f2 n
* N" @9 b9 r) }( l8 ^
sheet1.jpg 6 t  g* \% r+ b$ j3 [$ W& K
 楼主| 发表于 2016-1-11 15:23:00 | 显示全部楼层 来自: 中国上海
ryouss 发表于 2016-1-11 15:184 N. ^) e& y: ?/ {( f' a# g
另工程圖也用不到  配置屬性

5 I' @; u5 u2 Y1、集成改名改属性;# t/ i, i# j  e- ~* h) D" [' Z
2、菜单采用系统菜单方式,看着专业,呵呵,
, Z/ v1 p" f9 k; [* E6 ?3、鼠标点击零件行可显示零件的预览图,% q0 H7 `  F5 W# E' ?! p
4、零件的预览图拖动图标题栏可以移到自己需要的位置固定;9 p3 T  J! `! U" q/ ~
5、预览图标题栏点右键可设大小,. z6 B, _5 d6 M7 H9 }
6、增加环境设置工具;
. ]# t6 S; X; P+ E* L7、如果选取的零件有工程图,会在零件名的左侧显示五角星;改名时会将工程图的名字一并更改并关联。# I) p1 r9 B! K! t( B

$ Y8 O' j- e. j
7 n. I, J) f0 x6 S使用说明:
9 ^4 r! }# U: N$ {7 S: m$ I3 [1、详细功能自己体会;
& Z% h$ G. }2 k8 x. Q* W! T6 @; R2、表头1-6列请不要更改,7列及后续列可按照各自产品的属性值需要,自行更改。
232125h1kdwtztkwktw1ib.jpg
发表于 2016-1-11 16:40:45 | 显示全部楼层 来自: 中国广东佛山
支持原创~
发表于 2016-1-11 22:24:34 | 显示全部楼层 来自: 中国山东莱芜
sw2016出现错误
捕获.PNG
发表于 2016-1-11 22:47:45 | 显示全部楼层 来自: 中国山东莱芜
可以读取外形尺寸,但是属性读后没有显示,属性是配置属性,是不是不支持。
发表于 2016-1-11 23:22:04 | 显示全部楼层 来自: 中国山东莱芜
试过,只能读取自定义属性,若能读取配置特定属性就好了,不知能否改,求助。
发表于 2016-1-27 21:05:29 | 显示全部楼层 来自: 中国山东莱芜
以下是闷人的做法,能否参考
9 c+ }' K, z4 M8 S' ?【利用 Excel 批量修改SW檔案屬性】http://www.solidworks.org.tw/for ... hread&tid=26079
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

快速回复 返回顶部 返回列表