SolidWorks机械工程师网——最大的SolidWorks学习平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

好品数字
好品数字
查看: 6676|回复: 26
打印 上一主题 下一主题

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

  [复制链接]

18

主题

79

帖子

119

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
271
QQ
跳转到指定楼层
楼主
发表于 2016-3-11 17:34:48 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
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

这个 输入自定义 属性的 如何改成输入到 配置属性的?????

哪位高手 指导一下


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 转播转播 分享教程|习题|模型|技巧 点赞点赞5762 拍砖拍砖332
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复

使用道具 举报

10

主题

66

帖子

54

金币

天使

Rank: 2Rank: 2

积分
175
QQ
沙发
发表于 2016-3-11 17:38:50 | 只看该作者
好的  谢谢
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复 支持 反对

使用道具 举报

18

主题

68

帖子

131

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
282
QQ
板凳
发表于 2016-3-11 17:40:30 | 只看该作者
这个还是 改不好   有哪位高手 帮我直接改一下  贴出来  谢谢了
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

13

主题

57

帖子

132

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
254
QQ
地板
发表于 2016-3-11 17:41:25 | 只看该作者
Sub ReadPrp()  及 Sub WritePrp()    之編程皆不完整 (兩個都沒有 END SUB)
需要幫助請重新上傳原始SWP檔
是配合EXCEL操作的嗎?   是的話也需上傳EXCEL檔
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

21

主题

83

帖子

130

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
324
QQ
5#
发表于 2016-3-11 17:43:00 | 只看该作者

   经典案例图书
我已经发给你了 网盘  帮我看一下 改改 谢谢了
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

17

主题

91

帖子

159

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
340
QQ
6#
发表于 2016-3-11 17:47:37 | 只看该作者
無法操作
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

11

主题

69

帖子

75

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
205
QQ
7#
发表于 2016-3-11 17:47:47 | 只看该作者

   经典案例图书
你是32 位系统?
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

14

主题

68

帖子

93

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
240
QQ
8#
发表于 2016-3-11 17:48:19 | 只看该作者
你注册一下  试试  
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

13

主题

71

帖子

114

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
243
QQ
9#
发表于 2016-3-11 17:48:38 | 只看该作者

Solidworks 批量改名改属性工具.zip (141.15 KB, 下载次数: 128) 我上传的  你在下载 看看  我的也 64 位的   EXCEL   2010的  运行正常 啊
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

24

主题

68

帖子

154

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
357
QQ
10#
发表于 2016-3-11 17:51:22 | 只看该作者
我从新上传了  你在看看 哈哈
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

13

主题

67

帖子

69

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
222
QQ
11#
发表于 2016-3-11 17:51:43 | 只看该作者
點了 "系統註冊控件" 已不顯示錯誤了
但是 點了 "系統註冊控件"  什麼也沒動作
應該陳述下如何操作
excel也是2010,的簡体字全部轉成繁体,就不知道是不是註冊繁版的因素.
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

11

主题

67

帖子

62

金币

天使

Rank: 2Rank: 2

积分
197
QQ
12#
发表于 2016-3-11 17:54:01 | 只看该作者
另工程圖也用不到  配置屬性
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

14

主题

79

帖子

86

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
222
QQ
13#
发表于 2016-3-11 17:54:36 | 只看该作者
1、集成改名改属性;
2、菜单采用系统菜单方式,看着专业,呵呵,
3、鼠标点击零件行可显示零件的预览图,
4、零件的预览图拖动图标题栏可以移到自己需要的位置固定;
5、预览图标题栏点右键可设大小,
6、增加环境设置工具;
7、如果选取的零件有工程图,会在零件名的左侧显示五角星;改名时会将工程图的名字一并更改并关联。
使用说明:
1、详细功能自己体会;
2、表头1-6列请不要更改,7列及后续列可按照各自产品的属性值需要,自行更改。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

19

主题

79

帖子

143

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
313
QQ
14#
发表于 2016-3-11 17:56:32 | 只看该作者
支持原创~
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

12

主题

81

帖子

66

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
208
QQ
15#
发表于 2016-3-11 17:57:44 | 只看该作者
加入QQ群
参与讨论和学习

SolidWorks技术交流群

或扫描二维码加入

sw2016出现错误
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

7

主题

58

帖子

51

金币

天使

Rank: 2Rank: 2

积分
149
QQ
16#
发表于 2016-3-11 17:58:53 | 只看该作者

   经典案例图书
可以读取外形尺寸,但是属性读后没有显示,属性是配置属性,是不是不支持。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

17

主题

68

帖子

151

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
329
QQ
17#
发表于 2016-3-11 18:01:34 | 只看该作者
加入QQ群
参与讨论和学习

SolidWorks技术交流群

或扫描二维码加入

试过,只能读取自定义属性,若能读取配置特定属性就好了,不知能否改,求助。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

12

主题

65

帖子

84

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
207
QQ
18#
发表于 2016-3-11 18:02:46 | 只看该作者

   经典案例图书
以下是大王兄的做法,能否参考
【利用 Excel 批量修改SW檔案屬性】
利用 Excel 批量修改SW檔案自訂屬性及模型組態指定 (無需 SWDM-API 許可號碼)

大侠曾經要求過整合類型及配置模型組態),經過一番努力後,找到了笨拙的對應方法。


因為自訂屬性和組態指定都有人採用,是必須顧及的,所以分為5種類型,分別是零件、零件含組態、組合件、組合件含組態和工程圖,如下圖:

模型組態方面的難處是,組態屬於每個檔案的分支,而Excel的表單是二維的,要在同一表單同時處理三類的資料(檔案名稱、組態名稱及屬性),原則上是不可能的,
唯有把檔案名稱和組態名稱合二為一,每一個模型組態當成是獨立的檔案來看待,這樣就可以套用於二維的Excel表單上了,如下圖:

Excel檔案的說明:
1. 首列是用來安放按鈕,第二列是正式表頭,第三列起是資料內容。
2. 除了首三個欄位(路徑、檔案名稱及組態名稱),之後的都是屬性名稱,可隨意修改或添加,沒有上限的。
3. 選擇檔案時可以同時選擇多個檔案,點選後再次點選的話,就會往下繼續添加,注意是不會過濾重複檔案的。
4. 可以利用Excel本身功能快速清空表單,例如框選後按Delete鍵。
5. 在還未熟練前,不要直接以有用資料來做實驗,可以複製到別處試驗,以免因失誤搞壞資料。
  SW-API.rar (15.1 KB, 下載次數: 250) 密碼:thankyou
回覆後按 Ctrl+A 看密碼。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

0

主题

39

帖子

68

金币

天使

Rank: 2Rank: 2

积分
197

最佳新人活跃会员宣传达人

19#
发表于 2016-5-6 09:05:22 | 只看该作者
好好学习,天天向上!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

0

主题

21

帖子

34

金币

天使

Rank: 2Rank: 2

积分
112

最佳新人活跃会员宣传达人

20#
发表于 2016-5-14 14:00:08 | 只看该作者
看着好深奥啊,路过,学习
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭 卷起
关闭 卷起

手机版|小黑屋| GMT+8, 2024-5-11 21:44 , Processed in 0.211202 second(s), 37 queries .

SolidWorks机械工程师网 ( 鲁ICP备14025122号-2 ) 鲁公网安备 37028502190335号

声明:本网言论纯属发表者个人意见,与本网立场无关。
如涉版权,可发邮件: admin@swbbsc.com

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