QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 30095|回复: 123
收起左侧

[求助] 宏提取文件名字符为何不成功

[复制链接]
发表于 2013-6-22 08:47:02 | 显示全部楼层 |阅读模式 来自: 中国辽宁沈阳

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

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

x
按下面帖子学习做了一下,我的2011版本不成功,操作N变了,$ m# r9 }' q5 ~7 H- o  ~
现请教大家,谢谢参与~~* L- w! \) _/ y

+ i+ i" w+ w4 K. h) ]; Q3 C  I4 |" [$ r. G
下面原贴标题和地址
$ T- e0 w. D5 ]; @SolidWorks中方程式的应用技巧
# L" a- b* M  G# X7 Ihttp://www.3dportal.cn/discuz/forum.php?mod=viewthread&tid=1028623&fromuid=48913
4 B/ e0 ^; g$ I3 B, n- g. R4 T
# j$ j) |9 f: z; z% |1 l' L
' m/ l' |- s( j' o' X4 I- o8 X原贴方程式:dummy=part.Extension.CustomPropertyManager("").Set("partno",Left(part.GetTitle,9)); p( r1 [7 D9 o6 L$ _4 V/ m. ^" L
6 z; e) @% }" a" V
方程式目的是从文件名中从左到右取9个字符& c# [) }# T( _
发表于 2013-6-24 17:25:45 | 显示全部楼层 来自: 中国浙江嘉兴
本帖最后由 ryouss 于 2013-6-24 17:31 编辑 ! {. P7 V, w1 L% V  m$ C- y
9 _5 V$ Q  Z* d+ Z, }0 L
如下VBA宏的編程[2012版測試]' y% C3 G* P7 E$ ~: g, u

% u7 \* F& N2 m; x2 K4 O# G! }/ |' **************************************************
- M! C" @* g/ U9 H5 H) w1 N'  macro recorded on 06/24/13 by lsc8 `' I9 ~% l2 T  U5 Q% v) K
' **************************************************
2 ^# b: t/ w) [! z- ?9 ?4 h% `* MDim swApp As Object' r4 q' `. s  O7 f
Dim Part As Object
- _; w! k6 d- `6 _+ M: sSub main()
3 y. i. g: R* y, x! B- aSet swApp = Application.SldWorks1 }$ f, O: c+ B2 L- g% |
Set Part = swApp.ActiveDoc; J0 _9 v! V1 \1 ]
Set swModel = swApp.GetFirstDocument
0 I4 w# A+ \: V5 o( Gpath_name = swModel.GetPathName '取出目前檔案的路徑及名稱
3 W: F9 S  n# l0 w4 oname_ = swModel.GetTitle '取出目前檔案的名稱; n3 G  P' l/ `0 a7 }" n
name_9 = Left(name_, 9) '取出目前檔案名稱前9位文字6 X7 g4 C( g0 y2 p. j
End Sub: [( ^  ]0 X2 c. L0 J

评分

参与人数 1三维币 +3 收起 理由
阿帕奇 + 3

查看全部评分

发表于 2013-6-24 20:19:17 | 显示全部楼层 来自: 中国浙江温州
下面是我在其它论坛 得到的 某位前辈的宏,你看看

图号名称分离宏.rar

9.83 KB, 下载次数: 380

评分

参与人数 1三维币 +3 收起 理由
阿帕奇 + 3

查看全部评分

 楼主| 发表于 2013-6-25 13:05:59 | 显示全部楼层 来自: 中国辽宁沈阳
本帖最后由 qiminger 于 2013-6-28 13:28 编辑 + z' P- r0 Y( A0 M+ ^$ D
ryouss 发表于 2013-6-24 17:25 http://www.3dportal.cn/discuz/static/image/common/back.gif
, @0 \- j9 E" o$ f4 H- _如下VBA宏的編程[2012版測試]( S1 J0 W) B5 H' {$ j
2 V7 S) V7 y7 F) z
' **************************************************
, T/ ?: C# S' h( o! P' \

7 a' F' x; m3 ]6 `6 ~十分感谢梁老师提供代码学习~~& C2 x$ E$ q% H7 x8 Y$ W% ]

9 p0 r: e8 |; j" m提示进来学习的坛友!* z0 }% \- o. W% H% b4 m; o
通过在自定义属性里嵌入宏代码,问题已解决。2 u1 ^* N/ r& ~
下面代码在2011版本中均已测试成功。
  t4 I4 z0 q  h" ?% K4 ~8 s/ W/ O$ T& K' F9 E7 W
15楼代码,可以取左边字符
8 H1 @5 _- c5 ]+ S3 K5 T19楼代码,可以取最后一个下划线后面的字符。
& R2 \+ ~. i& t9 p; A0 e
# q: l6 |, x1 E. T& W下面这段代码,可以取第一个下划线前面的字符。
* I8 P# L6 {$ V& o- b1) k; u1 i$ I5 `5 H' K' J# o
dim yfd
5 h& \$ Z6 {- R% {2 r' a# j# t4 Lyfd=part.Extension.CustomPropertyManager("").Set("partno",Left(part.GetTitle,InStr(1,part.GetTitle,"_")-1))
 楼主| 发表于 2013-6-25 13:07:11 | 显示全部楼层 来自: 中国辽宁沈阳
杀苏 发表于 2013-6-24 20:19 static/image/common/back.gif
4 V; S0 E& i) o, l3 S! Z下面是我在其它论坛 得到的 某位前辈的宏,你看看

( U6 \" |! v6 }感谢杀苏提供宏文件分享,学习
发表于 2013-6-25 21:34:29 | 显示全部楼层 来自: 中国香港
http://fans.solidworks.com.cn/thread-33730-1-1.html
1 `" G$ s' }9 z& f9 ~蛋大的教程可能有幫助

评分

参与人数 1三维币 +3 收起 理由
阿帕奇 + 3

查看全部评分

 楼主| 发表于 2013-6-26 07:24:17 | 显示全部楼层 来自: 中国辽宁沈阳
Francis 发表于 2013-6-25 21:34 static/image/common/back.gif
; `. [) G) e6 H9 zhttp://fans.solidworks.com.cn/thread-33730-1-1.html1 r+ Q- ^  J' F: J9 }
蛋大的教程可能有幫助

' m  r3 C3 ]8 }& y3 U& U非常感谢大师指引
发表于 2013-6-26 09:22:21 | 显示全部楼层 来自: 中国北京
楼主添加成功了吗?为何显示无效语句?( ~  x, c# ~. M, i4 w* N* s
无标题.png
 楼主| 发表于 2013-6-26 09:50:09 | 显示全部楼层 来自: 中国辽宁沈阳
ps122hb 发表于 2013-6-26 09:22 static/image/common/back.gif
5 u9 L) i. @# \. R, r楼主添加成功了吗?为何显示无效语句?

* q! S, B( c  ]" {' d( ]' p" \9 J- K没有成功
发表于 2013-6-27 12:17:11 | 显示全部楼层 来自: 中国香港
2009版本以後,宏的嵌合方法已經改變,具體請參附件(2012版本)。
capture01.png

123456789-qiminger.rar

16.24 KB, 下载次数: 236

评分

参与人数 1三维币 +3 收起 理由
阿帕奇 + 3

查看全部评分

 楼主| 发表于 2013-6-27 16:02:37 | 显示全部楼层 来自: 中国辽宁沈阳
ps122hb 发表于 2013-6-26 09:22 static/image/common/back.gif9 G$ O/ Q$ S6 Z# j& V) f6 z
楼主添加成功了吗?为何显示无效语句?

! b8 t1 N$ m& C; r5 P+ y看一下十楼方法,有源文件2012版本的,源文件我打不开。你如果研究明白了,说说方法再截两个图。
 楼主| 发表于 2013-6-27 16:16:35 | 显示全部楼层 来自: 中国辽宁沈阳
本帖最后由 qiminger 于 2013-6-27 16:18 编辑
4 i: _+ O7 f7 \& d) h0 I; X: V
Francis 发表于 2013-6-27 12:17 http://www.3dportal.cn/discuz/static/image/common/back.gif
3 }7 \6 V9 C: J: J, J* A' `3 b2009版本以後,宏的嵌合方法已經改變,具體請參附件(2012版本)。

0 W  b' c: `: G' S+ l2 O
% h& ^* p2 C# t0 q不好意思,再麻烦闷大老师,我的是2011版本。
6 C. |+ z' t. j3 v# Z) G我按图在自定义属性里加代码,重建模型,保存关闭文件,重新打开也没成功。: w5 G% e' x; O8 Y5 G' z. i
是不是还要添加方程式呢?
9 K: i% y. T! v' U: N  F( `$ v QQ截图20130627161203.png
发表于 2013-6-27 21:31:42 | 显示全部楼层 来自: 中国香港
試下這個9 X" H- @  {3 Y$ A- P. R3 q
123456789-qiminger2009或以上版本.rar (11.35 KB, 下载次数: 218)
 楼主| 发表于 2013-6-28 08:38:05 | 显示全部楼层 来自: 中国辽宁沈阳
本帖最后由 qiminger 于 2013-6-28 08:39 编辑 ; i7 u5 {& q, W
Francis 发表于 2013-6-27 21:31 http://www.3dportal.cn/discuz/static/image/common/back.gif
9 ]# [9 p: N# ~  b3 b2 T試下這個
( S2 l/ W. u' a. n% y" l& ~
* j! _  l% g- M
谢谢~我试了你给我的,重命名之后重建,属性可以更新,好使的。1 ?7 m3 W3 ^) c$ y
我新建之后做出的,做很多次,还是不好使,我感觉过程不应该有问题了。  c. d7 j+ R2 A6 X' C+ }
也许是学习版本的问题
+ J7 Y' ~. D9 Q2 m9 l5 c 1.png 2.png
. S9 f' G0 P( @# y. |- h2011版本, G  |7 g+ p  U$ G% L/ X8 C
987654321-qiminger.rar (17.86 KB, 下载次数: 60)
发表于 2013-6-28 09:55:31 | 显示全部楼层 来自: 中国香港
qiminger 发表于 2013-6-28 08:38 static/image/common/back.gif8 m: k. ^& I0 M: Y! }9 f- ^
谢谢~我试了你给我的,重命名之后重建,属性可以更新,好使的。3 H: Z' ]- y: N. |) D1 c
我新建之后做出的,做很多次,还是不好 ...

/ ]8 l  R. d5 P謝謝qiminger兄回帖討論。2 w) Q% e" h3 ^$ F$ B

* F: u) m$ m# l4 X1 U7 f" i+ {5 m& u方程式的寫法正確,出現的驚嘆號代表呼叫的屬性值不是數值。) v$ f6 k7 a2 `
問題在內碼嵌合到“數值/文字表達”不對。; C" L! t1 U# o8 A
! ?, G! _  m- g) K3 l" M% t
把以下內碼copy&paste到“數值/文字表達”欄位再試一下吧。
1" t$ ^- i- \8 {# f. b/ z9 p, L
dim dummy4 f& o7 W( w7 t
dummy=part.Extension.CustomPropertyManager("").Set("partno",Left(part.GetTitle,9))
$ D1 F% I7 D# Y3 S1 Y% a2 Z

$ `( y: Q2 l5 x, y; Y

评分

参与人数 1三维币 +3 收起 理由
阿帕奇 + 3

查看全部评分

发表于 2013-6-28 10:17:35 | 显示全部楼层 来自: 中国辽宁盘锦
Francis 发表于 2013-6-28 09:55 static/image/common/back.gif3 F& x6 U. u+ U
謝謝qiminger兄回帖討論。
; ~6 H# u- P% ~2 {6 B; \, r, `8 l. v
方程式的寫法正確,出現的驚嘆號代表呼叫的屬性值不是數值。
% d" {; |; n; n$ m+ R: u7 N7 b
闷大,请教一下。我这样格式的文件名如何提取
, x- _' a  P2 H# A! ~1 h. K# H' R2 ?例如:300_222_33_固定销压板,我只想提取最后一个下划线“_”后面的字符,如本例的固定销压板,但是最后一个下划线的后面的字符个数还不固定。
 楼主| 发表于 2013-6-28 11:30:13 | 显示全部楼层 来自: 中国辽宁沈阳
Francis 发表于 2013-6-28 09:55 static/image/common/back.gif3 S3 p1 N" V, G4 P  E7 c0 e' f
謝謝qiminger兄回帖討論。: Q$ a0 r8 x9 `: H) ]& f" F  s# u9 S
9 }% c5 H, a% H) \
方程式的寫法正確,出現的驚嘆號代表呼叫的屬性值不是數值。

* z7 S- o5 y! ]- T成功了~~
' E5 `: Q, u& n: \* {/ b8 ]直接从你给我的源文件属性栏里复制,再回来粘帖,终于可以了,
0 m; u% X" p8 y  `宏真神奇,我英文不好理解困难,再次感谢了~~~
发表于 2013-6-28 11:41:34 | 显示全部楼层 来自: 日本
Francis 发表于 2013-6-27 21:31 static/image/common/back.gif/ |- {0 @8 j6 m0 K. P
試下這個

2 T+ H/ E/ \2 ?3 K; o% @; Z- j+ J5 a重新命名后,好像就不更新了啊) I  \8 E3 f, A. b. s2 k
) f- f0 h4 b3 t1 j
弄个批量的宏8 c& \$ h' f% t8 g

3 K; u5 x  @$ @% U5 w2 S$ r
发表于 2013-6-28 12:06:04 | 显示全部楼层 来自: 中国香港
本帖最后由 Francis 于 2013-6-28 12:12 编辑 ! E0 Q8 e9 o) D" k+ m' E9 J
阿帕奇 发表于 2013-6-28 10:17 static/image/common/back.gif
" k, ~5 J1 s- t' X7 Q闷大,请教一下。我这样格式的文件名如何提取, S, k. h' X" e+ _# N3 {
例如:300_222_33_固定销压板,我只想提取最后一个下划线“ ...
1
7 q* J5 ~; G- D! [0 ODim Txt$ A5 K5 c; l( e4 |/ q: ~8 D0 S. l
Txt = Part.GetPathName
8 M" |- ?$ T2 BTxt = Mid(Txt, InStrRev(Txt, "_", -1) + 1). S" C; d+ E( x  N0 ^# ?; c: _" C" g, y( ]
Txt = Left(Txt, Len(Txt) - 7)! d( p- C1 G: K) h& G% p, i7 I
Part.Extension.CustomPropertyManager("").Set "partno", Txt
: e" u7 @) Y* V5 f9 E* {& E; j" s
把以上內碼copy&paste到“數值/文字表達”欄位試一下吧。0 R! ?' X! [7 p4 f0 R) h; w
注意!必定要使用複製粘貼的方法,才可嵌合內碼到欄位。
- s* c  ^% }; d7 f) z8 n
3 `8 o* E4 Y6 v' k- t

评分

参与人数 1三维币 +3 收起 理由
阿帕奇 + 3

查看全部评分

发表于 2013-6-28 12:09:05 | 显示全部楼层 来自: 中国香港
hongwei_1987jp 发表于 2013-6-28 11:41 static/image/common/back.gif
9 Q$ C5 S( b: y- [& T重新命名后,好像就不更新了啊! Z7 n5 |* \3 e6 f- b: G6 G, c* `# i
# ^+ S& J0 Z1 R: A, G
弄个批量的宏
/ X* k" A+ R+ Q7 E  i
估計又是『脖子掛餅終餓死』的慘案一宗。
发表于 2013-6-28 12:28:20 | 显示全部楼层 来自: 日本
Francis 发表于 2013-6-28 12:09 static/image/common/back.gif
: E  m/ ?6 ^  S估計又是『脖子掛餅終餓死』的慘案一宗。

8 l( g# g+ x' K2 D3 v5 r我平时不用那种加文字的文件名,感觉用这种图号和名称分离的宏挺好的,有批量改的话,那就太好了! }2 G, R" a  b" H, C9 o0 y4 B
8 J3 z7 q% ?9 a! o. I' T
老兄搞下吧
发表于 2013-6-28 13:51:55 | 显示全部楼层 来自: 中国辽宁盘锦
Francis 发表于 2013-6-28 12:06 static/image/common/back.gif) v5 d$ d# f/ T: z' P$ v# z. m0 z
把以上內碼copy&paste到“數值/文字表達”欄位試一下吧。
9 z1 O4 q. `6 F$ `1 f# g注意!必定要使用複製粘貼的方法,才可嵌合內 ...

3 v: O) d& Y4 x5 l3 M3 Z" J8 X对不起闷大,宏我看明白了
* y+ i3 n" \% ]6 x: H( x( W! c想起我未说清楚,最后一个“_”前的字符也不固定
: h/ _7 r7 B1 T& i1 }' j2 S有没有直接可以从末位数的,到“_”停止的
发表于 2013-6-28 14:52:03 | 显示全部楼层 来自: 中国香港
阿帕奇 发表于 2013-6-28 13:51 static/image/common/back.gif
9 Y) p! h% U! L* L" a" F, w7 j对不起闷大,宏我看明白了
: O) D$ ~: [) _0 x0 A想起我未说清楚,最后一个“_”前的字符也不固定' A0 y; i/ W& C3 n# b! n6 \3 {' t. V
有没有直接可以从末位数的, ...
2 J# g1 U/ w; C1 A' u2 k7 H
那段宏就是奇哥的要求
发表于 2013-6-28 15:51:55 | 显示全部楼层 来自: 中国辽宁盘锦
Francis 发表于 2013-6-28 14:52 http://www.3dportal.cn/discuz/static/image/common/back.gif
' U8 m1 ^% D0 ]+ A/ z% s那段宏就是奇哥的要求

  l7 a2 Y% A# |5 O- X
4 p" y7 G  e$ n! v$ s我是13版,也许我做的不对,粘贴后只显示“1”,partno无数值显示。
1 G$ V8 v1 m2 |* M+ B, B  L请问partno是不是可以改成任意名字,如“工程图名称”
3 @% Q2 X! O7 R: ?" q6 U再请出手相助
无标题.png
发表于 2013-6-28 18:18:24 | 显示全部楼层 来自: 中国香港
阿帕奇 发表于 2013-6-28 15:51 static/image/common/back.gif! K# h* a: y% |  I" ]$ k
我是13版,也许我做的不对,粘贴后只显示“1”,partno无数值显示。. L7 n" q( t/ e  s1 D
请问partno是不是可以改成任意名字 ...

3 A" S+ f. T7 {# Z在“自定義”的設定應該對了,可能還欠缺方程式執行,下載以上所提供的檔案仔細研究一下執行方法。- R4 M, S, B. M* a5 g$ b
; V/ D) f* P+ A5 I  l
partno只是一個代號,怎麼字符都可以的,中文也可,只要對應宏內字符就可以。
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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