QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 litao036 于 2016-1-12 10:23 编辑 % c1 l/ T4 U+ S- {+ Z
- e0 _% j+ a6 F0 c, c" _

) @4 B* k* l" t. Y% n  t) `
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 z) M% b/ s% @$ q+ e
这个 读取自定义 属性的  如何改成读取 配置属性的?????
( u0 t: k+ E% w7 g. S
+ K8 O, z4 n; `7 ?* _4 f
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
这个 输入自定义 属性的  如何改成输入到 配置属性的?????
哪位高手 指导一下

- b$ b! i9 q% q8 c8 E# P& M' ]: M3 I9 m. ?
$ M8 f4 C1 ]+ m
发表于 2016-1-11 11:25:06 | 显示全部楼层 来自: 中国浙江嘉兴
http://www.3dportal.cn/discuz/fo ... ead&tid=14513657 d6 D1 Y1 z1 }

9 f& K  x3 T. v) p0 u/ X- [2 f; W
有關 配置属性 如上可參考看看
 楼主| 发表于 2016-1-11 11:33:45 | 显示全部楼层 来自: 中国上海
好的  谢谢
 楼主| 发表于 2016-1-11 12:57:06 | 显示全部楼层 来自: 中国上海
这个还是 改不好   有哪位高手 帮我直接改一下  贴出来  谢谢了
发表于 2016-1-11 13:21:57 | 显示全部楼层 来自: 中国浙江嘉兴
本帖最后由 ryouss 于 2016-1-11 13:33 编辑 5 F$ j; x8 K' U& V" P

5 |$ ^3 P2 u, V8 B! R" wSub ReadPrp()  及 Sub WritePrp()    之編程皆不完整 (兩個宏都沒有 END SUB)
! s( p, W7 a& }' k0 h- E, ?" t  L! u% b, c* {% \9 x
需要幫助請重新上傳原始SWP檔
7 h; ^  G1 ^) i3 P4 {6 b
4 S7 T5 P* ^8 h1 v# k/ Y9 l) _7 i2 e+ I  m1 J) Z; Z0 L
是配合EXCEL操作的嗎?   是的話也需上傳EXCEL檔
8 `7 f0 @! f; X, k5 W; R' H; f) M+ b- ^: J6 V+ c$ z

3 _- b1 b0 E) O: C8 W
 楼主| 发表于 2016-1-11 13:51:30 | 显示全部楼层 来自: 中国上海
我已经发给你了 网盘  帮我看一下 改改 谢谢了
发表于 2016-1-11 14:32:39 | 显示全部楼层 来自: 中国浙江嘉兴
litao036 发表于 2016-1-11 13:51
3 ]8 k$ t$ |  I2 s# J/ b6 q# s/ I我已经发给你了 网盘  帮我看一下 改改 谢谢了
) w: l0 Y( }5 B' a/ x$ c% b
無法操作
, {& X3 R1 q; s% a- z4 k' s
4 u5 u& h+ \; E5 m+ w/ ~! b 編輯錯誤.jpg 9 w* A% O( l5 e5 o" g; h: D2 H

7 `$ h4 e/ L8 |* W1 v
 楼主| 发表于 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
9 K+ U$ f8 v: y0 p2 G$ `+ l0 p無法操作

9 O9 V* B+ P0 N1 y8 `我从新上传了  你在看看 哈哈
发表于 2016-1-11 15:00:03 | 显示全部楼层 来自: 中国浙江嘉兴
本帖最后由 ryouss 于 2016-1-11 15:06 编辑
& ^  h0 r& Q6 \0 I1 w% P
7 `8 F3 ^( h" C點了 "系統註冊控件" 已不顯示錯誤了* S9 f) V1 w8 c) N
6 V3 @- E( G6 t
但是 點了 "系統註冊控件"  什麼也沒動作
" W. q1 V) n, {/ h2 z
; E* F, w) @& |, N應該陳述下如何操作
' R" e7 B2 z8 ]7 Q% B& [7 Pexcel也是2010,宏的簡体字全部轉成繁体,就不知道是不是註冊繁版的因素.- b! v" u- S. r# @
发表于 2016-1-11 15:18:04 | 显示全部楼层 来自: 中国浙江嘉兴
另工程圖也用不到  配置屬性' Y. X- X6 l0 v+ h
* q- ^7 @8 ~( Z! P0 v5 H
sheet1.jpg
5 j" x8 p+ f7 |# t! S7 ?
 楼主| 发表于 2016-1-11 15:23:00 | 显示全部楼层 来自: 中国上海
ryouss 发表于 2016-1-11 15:18
. {) h7 d4 n7 L% d另工程圖也用不到  配置屬性
0 M' Y# T+ \$ \3 S" P& ]5 z2 W
1、集成改名改属性;9 J5 G% b$ b* ?- g! r4 a0 l
2、菜单采用系统菜单方式,看着专业,呵呵,% b" \* Z- b1 z0 r5 {
3、鼠标点击零件行可显示零件的预览图," a5 O7 V% ^, f& W' X
4、零件的预览图拖动图标题栏可以移到自己需要的位置固定;
9 g; t' R' m2 N+ G2 u5 r8 T2 R5、预览图标题栏点右键可设大小,
" \; S& }1 i1 I1 N* H( s8 R. ^' Y6、增加环境设置工具;5 e8 Q; u! {& g1 m( ]; l
7、如果选取的零件有工程图,会在零件名的左侧显示五角星;改名时会将工程图的名字一并更改并关联。
+ U, o2 A) s, j! M5 j& m- n& Y( m1 K- y/ Y" W4 u/ j
1 \' y) N; X8 j4 W+ ]9 s7 [
使用说明:9 O, r8 P+ g8 K. r( e  S; k1 r! X
1、详细功能自己体会;7 V' [4 Q- D" O% O) Y- A
2、表头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 | 显示全部楼层 来自: 中国山东莱芜
以下是闷人的做法,能否参考5 G- \: |- M1 {8 X9 u2 W+ X
【利用 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 )

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