QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
按下面帖子学习做了一下,我的2011版本不成功,操作N变了,
6 _* ~% V5 W/ [, {9 f* s现请教大家,谢谢参与~~
, q+ `3 V" g9 ^6 |. n6 c! J- b( a" k' [- S
  G& Y$ g  H' `$ X1 c
下面原贴标题和地址
, Z2 n0 M" W* sSolidWorks中方程式的应用技巧
: V9 d' o. {- y/ o. _% Thttp://www.3dportal.cn/discuz/forum.php?mod=viewthread&tid=1028623&fromuid=48913, C8 I0 d) T. E; M
, q0 Z4 b# R1 i! J3 ], ^' ^5 ]0 s2 u) B

1 u8 ~' B$ H, J' p3 Y/ l: q原贴方程式:dummy=part.Extension.CustomPropertyManager("").Set("partno",Left(part.GetTitle,9)), U9 Q* Z9 @% l* E" T: d: B
! K# |9 M: b/ G$ U
方程式目的是从文件名中从左到右取9个字符2 k# D# G+ X! [0 E% C; ^. L% _
发表于 2013-6-24 17:25:45 | 显示全部楼层 来自: 中国浙江嘉兴
本帖最后由 ryouss 于 2013-6-24 17:31 编辑 8 Y& ^: Z. m: ?( s% h

7 U; Q" a9 z3 S4 B/ {: A% b7 t# {如下VBA宏的編程[2012版測試]0 W. u' Z7 C8 I+ j- o. _

, X7 H6 b: r7 z3 H, T( \' **************************************************; ]$ c8 \- R3 [, E& u! |0 x
'  macro recorded on 06/24/13 by lsc
. a  I( B5 P* Z' *************************************************** ?1 m; K: q8 e1 t2 T: t0 a5 a
Dim swApp As Object
. g% W; L5 H# k9 I( w( O+ U: WDim Part As Object
# ?6 Z" a; u' Y/ mSub main()
+ t7 j0 _3 r- \: w, b  s+ NSet swApp = Application.SldWorks
' L# P- o& M* V$ \8 Q; z: V$ k3 SSet Part = swApp.ActiveDoc# ]* c9 e$ {' r; i  Z6 l
Set swModel = swApp.GetFirstDocument
% {/ ]' A/ t9 G/ h2 d+ Ppath_name = swModel.GetPathName '取出目前檔案的路徑及名稱0 h0 t- s5 L& R1 |4 \: B0 f" p
name_ = swModel.GetTitle '取出目前檔案的名稱- t; O( V0 O) [1 N+ h  q
name_9 = Left(name_, 9) '取出目前檔案名稱前9位文字" G" v* P7 F% R( [) n. m+ o& E' P0 C
End Sub& C  j) X/ r9 @" ^

评分

参与人数 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 编辑 ; H+ ]* y4 h! |6 F2 d
ryouss 发表于 2013-6-24 17:25 http://www.3dportal.cn/discuz/static/image/common/back.gif5 g5 @3 I) [$ O$ H+ B- a
如下VBA宏的編程[2012版測試]9 Y; `1 x% f* t- M! q  {* Z
5 u5 l8 e" ~2 q( N
' **************************************************
- d2 A) n! t8 R4 |: z4 x: s- [

) `: J! p+ Z; Z  F0 O! w十分感谢梁老师提供代码学习~~
2 Z0 u- q2 f* C( l. z; I
" ?+ [0 ]0 ~! ?! e提示进来学习的坛友!& f& @/ M! o# p& L4 H# p
通过在自定义属性里嵌入宏代码,问题已解决。
) T! f- C; j: c; \& _下面代码在2011版本中均已测试成功。
+ }% \. Y% f4 k7 O; F
4 o3 b8 ^) j. ?" h& Q15楼代码,可以取左边字符: L( e6 I; m% W* _
19楼代码,可以取最后一个下划线后面的字符。  A# F" _/ W% p" x. c

% A( K4 L& ]$ E, w6 b下面这段代码,可以取第一个下划线前面的字符。' [' S* L* L6 ?6 d' |. {$ N
1* t% e7 B: ^' \' L
dim yfd- _0 Y. T5 K  X
yfd=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
! l, M& J. E6 q( N下面是我在其它论坛 得到的 某位前辈的宏,你看看

  g  m: U" N) l6 J6 i. n感谢杀苏提供宏文件分享,学习
发表于 2013-6-25 21:34:29 | 显示全部楼层 来自: 中国香港
http://fans.solidworks.com.cn/thread-33730-1-1.html
# w  y0 q. r) T! _, F6 Z, `蛋大的教程可能有幫助

评分

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

查看全部评分

 楼主| 发表于 2013-6-26 07:24:17 | 显示全部楼层 来自: 中国辽宁沈阳
Francis 发表于 2013-6-25 21:34 static/image/common/back.gif0 V; @: r8 K7 w1 F
http://fans.solidworks.com.cn/thread-33730-1-1.html
) D$ j1 {5 Y3 j8 T( I8 Q蛋大的教程可能有幫助

/ b6 R8 i! Y' w- Z2 X9 n% ^0 p6 v非常感谢大师指引
发表于 2013-6-26 09:22:21 | 显示全部楼层 来自: 中国北京
楼主添加成功了吗?为何显示无效语句?* ^' D2 {" q1 g6 g
无标题.png
 楼主| 发表于 2013-6-26 09:50:09 | 显示全部楼层 来自: 中国辽宁沈阳
ps122hb 发表于 2013-6-26 09:22 static/image/common/back.gif$ O  W2 ^! u+ C1 J) x, J
楼主添加成功了吗?为何显示无效语句?
4 Q! [. D6 w! T3 R0 x( o$ L" L0 ^
没有成功
发表于 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.gif
: U* e: Y- @  X; V  u$ u2 N楼主添加成功了吗?为何显示无效语句?

2 Z# Z( ]; ~" p5 s6 q7 |看一下十楼方法,有源文件2012版本的,源文件我打不开。你如果研究明白了,说说方法再截两个图。
 楼主| 发表于 2013-6-27 16:16:35 | 显示全部楼层 来自: 中国辽宁沈阳
本帖最后由 qiminger 于 2013-6-27 16:18 编辑 - ]6 B+ J) H9 s2 L& P2 ~  Q
Francis 发表于 2013-6-27 12:17 http://www.3dportal.cn/discuz/static/image/common/back.gif* K8 l% j1 U2 m
2009版本以後,宏的嵌合方法已經改變,具體請參附件(2012版本)。
, [. P% ?2 p0 k, p+ c  r4 ?

: s% p- Q* ]1 k4 o0 X- x& U不好意思,再麻烦闷大老师,我的是2011版本。0 K9 N/ V7 ]; l$ E' f0 W) O
我按图在自定义属性里加代码,重建模型,保存关闭文件,重新打开也没成功。
2 F5 s) o2 `# K% h9 l1 |8 A& y  A是不是还要添加方程式呢?; d* Q0 |  a1 H' B; X1 O7 @
QQ截图20130627161203.png
发表于 2013-6-27 21:31:42 | 显示全部楼层 来自: 中国香港
試下這個: N% f3 L' o! Q( D
123456789-qiminger2009或以上版本.rar (11.35 KB, 下载次数: 218)
 楼主| 发表于 2013-6-28 08:38:05 | 显示全部楼层 来自: 中国辽宁沈阳
本帖最后由 qiminger 于 2013-6-28 08:39 编辑 8 h8 A. G5 t5 A/ I$ m
Francis 发表于 2013-6-27 21:31 http://www.3dportal.cn/discuz/static/image/common/back.gif5 y1 l5 a) Y& j6 |( l
試下這個

# t  Q* V8 B3 i/ F
% q/ _: q) e5 N# R4 D谢谢~我试了你给我的,重命名之后重建,属性可以更新,好使的。
# F4 \# }6 [5 r& H# M我新建之后做出的,做很多次,还是不好使,我感觉过程不应该有问题了。4 U. p5 n2 Q3 T5 a
也许是学习版本的问题- `3 X; d/ }0 ]6 s
1.png 2.png
0 n/ \# ^1 K2 c& `9 n' S- J/ S% u. l: n2011版本$ _. s* y1 e) I- L
987654321-qiminger.rar (17.86 KB, 下载次数: 60)
发表于 2013-6-28 09:55:31 | 显示全部楼层 来自: 中国香港
qiminger 发表于 2013-6-28 08:38 static/image/common/back.gif  E- |1 s: @/ D  M$ O
谢谢~我试了你给我的,重命名之后重建,属性可以更新,好使的。
6 z1 A4 v2 N. i5 H% A1 m7 Y我新建之后做出的,做很多次,还是不好 ...

# }. `6 P" k+ |& Z3 J8 q  H- [- [$ [謝謝qiminger兄回帖討論。! W% @7 f# E) D2 }6 X4 q
- {7 `; O/ m/ Y. z( E& _, g, |
方程式的寫法正確,出現的驚嘆號代表呼叫的屬性值不是數值。0 a9 Z, B. E  \; h$ A% p
問題在內碼嵌合到“數值/文字表達”不對。4 s9 G2 b0 ^& Z1 I! y" L( s# y
2 g0 m( x1 M& S
把以下內碼copy&paste到“數值/文字表達”欄位再試一下吧。
1
% \# D: H9 N  z' Q7 s# ~  Rdim dummy
" x3 p3 S# ?0 M* B" D% d6 K7 _. }dummy=part.Extension.CustomPropertyManager("").Set("partno",Left(part.GetTitle,9))
" J7 O+ G0 k( x

2 L6 h8 s* q5 o( H" m9 Z

评分

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

查看全部评分

发表于 2013-6-28 10:17:35 | 显示全部楼层 来自: 中国辽宁盘锦
Francis 发表于 2013-6-28 09:55 static/image/common/back.gif
6 h) j0 P- J( M- z$ j) Z5 B# N謝謝qiminger兄回帖討論。, c2 P4 ~( R3 P4 {  D

7 Z# a: _4 w) b% X方程式的寫法正確,出現的驚嘆號代表呼叫的屬性值不是數值。

2 L' C& ]- C2 _' }: c% S6 P闷大,请教一下。我这样格式的文件名如何提取
# R9 T. X( K1 e5 V9 I例如:300_222_33_固定销压板,我只想提取最后一个下划线“_”后面的字符,如本例的固定销压板,但是最后一个下划线的后面的字符个数还不固定。
 楼主| 发表于 2013-6-28 11:30:13 | 显示全部楼层 来自: 中国辽宁沈阳
Francis 发表于 2013-6-28 09:55 static/image/common/back.gif8 o( m! B# S% y) E2 N: d& G
謝謝qiminger兄回帖討論。
( I5 T0 |  c$ f* P* m1 `2 C# W  }9 k# f/ u9 P& z8 t
方程式的寫法正確,出現的驚嘆號代表呼叫的屬性值不是數值。

5 s: h9 H5 ?  y成功了~~
7 l7 O$ r; |9 F4 ~直接从你给我的源文件属性栏里复制,再回来粘帖,终于可以了,7 s8 }' h+ L4 v# q, W! ?
宏真神奇,我英文不好理解困难,再次感谢了~~~
发表于 2013-6-28 11:41:34 | 显示全部楼层 来自: 日本
Francis 发表于 2013-6-27 21:31 static/image/common/back.gif9 b. t0 d2 g- w! H1 `- O7 U+ g  E
試下這個
  x, q) m& @4 {
重新命名后,好像就不更新了啊
- m) ~4 w) V) R3 h
6 u3 K, F% r9 h2 g弄个批量的宏- D- ?) q8 f/ q; u" Y. _& I. K
. W3 X) ~% {4 B( H' T8 y' {  [  e  t
发表于 2013-6-28 12:06:04 | 显示全部楼层 来自: 中国香港
本帖最后由 Francis 于 2013-6-28 12:12 编辑
) l2 b1 q% K/ e1 G* q6 n
阿帕奇 发表于 2013-6-28 10:17 static/image/common/back.gif
( I, N4 ~& l; m* ~% [闷大,请教一下。我这样格式的文件名如何提取
. E1 z5 d% F# }, R例如:300_222_33_固定销压板,我只想提取最后一个下划线“ ...
1
. ^  \2 ]0 N8 A; c! F9 TDim Txt
% \: C/ t* g0 l  bTxt = Part.GetPathName
0 \9 G7 {5 E9 JTxt = Mid(Txt, InStrRev(Txt, "_", -1) + 1)3 U% `8 U" p9 l7 x) O
Txt = Left(Txt, Len(Txt) - 7); ~- ]8 k/ X8 Z( R. r/ X$ k
Part.Extension.CustomPropertyManager("").Set "partno", Txt
0 u( Z( |8 Y0 K* M/ c% o
把以上內碼copy&paste到“數值/文字表達”欄位試一下吧。
# G6 F* P& ^$ J: V9 ~; I注意!必定要使用複製粘貼的方法,才可嵌合內碼到欄位。1 E& L! Y7 `, A9 w
# d2 L% M8 ~6 r& G

评分

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

查看全部评分

发表于 2013-6-28 12:09:05 | 显示全部楼层 来自: 中国香港
hongwei_1987jp 发表于 2013-6-28 11:41 static/image/common/back.gif
; @- ~4 v7 c1 t5 j0 n重新命名后,好像就不更新了啊6 s  n8 g! V+ d8 v: Q  O

  T. \& t8 B" P3 [. n/ }弄个批量的宏

* d) C' a0 e% P: f7 _! l; _' G估計又是『脖子掛餅終餓死』的慘案一宗。
发表于 2013-6-28 12:28:20 | 显示全部楼层 来自: 日本
Francis 发表于 2013-6-28 12:09 static/image/common/back.gif
6 A8 T8 G, K/ ^$ K8 _+ [' d3 Z估計又是『脖子掛餅終餓死』的慘案一宗。

: ?3 F: s2 k# Z$ h9 Q我平时不用那种加文字的文件名,感觉用这种图号和名称分离的宏挺好的,有批量改的话,那就太好了* M, h0 n5 [3 w  x+ q" X( M. D
7 D$ V! d* h5 \& ]% S& e8 r- C
老兄搞下吧
发表于 2013-6-28 13:51:55 | 显示全部楼层 来自: 中国辽宁盘锦
Francis 发表于 2013-6-28 12:06 static/image/common/back.gif
4 d, R' Y" g' ^2 @4 }) p" K0 s把以上內碼copy&paste到“數值/文字表達”欄位試一下吧。
9 F, q% N' o! t6 P! B1 \. C  j6 K8 r注意!必定要使用複製粘貼的方法,才可嵌合內 ...
) k$ j: W8 G0 |: m; J
对不起闷大,宏我看明白了+ I7 S5 w- S: D# U
想起我未说清楚,最后一个“_”前的字符也不固定
  M/ p2 f  f4 E7 k有没有直接可以从末位数的,到“_”停止的
发表于 2013-6-28 14:52:03 | 显示全部楼层 来自: 中国香港
阿帕奇 发表于 2013-6-28 13:51 static/image/common/back.gif
+ `! d& B$ v% ?对不起闷大,宏我看明白了
5 d8 v' b6 u2 q9 D$ W# W% o# B$ q想起我未说清楚,最后一个“_”前的字符也不固定2 {: r( K6 e, J0 z- @& ]* p% j
有没有直接可以从末位数的, ...
5 t$ X6 ?3 ]9 B9 f% b
那段宏就是奇哥的要求
发表于 2013-6-28 15:51:55 | 显示全部楼层 来自: 中国辽宁盘锦
Francis 发表于 2013-6-28 14:52 http://www.3dportal.cn/discuz/static/image/common/back.gif' g3 K) h0 E) E
那段宏就是奇哥的要求

! j* r0 X/ {5 [0 P! C/ U8 Y5 E9 _
6 L8 y% I) ?5 V; N+ u我是13版,也许我做的不对,粘贴后只显示“1”,partno无数值显示。! F: J' m+ c; [1 \6 \# h6 |
请问partno是不是可以改成任意名字,如“工程图名称”
- b3 |$ U2 @, G' V再请出手相助
无标题.png
发表于 2013-6-28 18:18:24 | 显示全部楼层 来自: 中国香港
阿帕奇 发表于 2013-6-28 15:51 static/image/common/back.gif
% X7 n% F# `7 [9 S6 U我是13版,也许我做的不对,粘贴后只显示“1”,partno无数值显示。# u, }: c% w! q8 I6 {3 s; Z
请问partno是不是可以改成任意名字 ...
. i# S5 A$ `# b9 K5 [
在“自定義”的設定應該對了,可能還欠缺方程式執行,下載以上所提供的檔案仔細研究一下執行方法。) ]+ c# `8 `3 p: b2 P
. c3 A' K! c2 J5 L) n" W) R
partno只是一個代號,怎麼字符都可以的,中文也可,只要對應宏內字符就可以。
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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