QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 3881|回复: 40
收起左侧

[求助] 求梁大帮助指点

[复制链接]
发表于 2015-12-1 11:42:52 | 显示全部楼层 |阅读模式 来自: 中国广东广州

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

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

x
梁大,我现在研究SW批处理宏,想让运行宏时自动批量打开某一个文件夹下的零件和装配体文件,门外汉不知道完成这个功能的这句语句的代码应该怎么写?请求梁大指点下。谢谢。
3 {5 t( c/ K- w' o: `
 楼主| 发表于 2015-12-1 11:46:56 | 显示全部楼层 来自: 中国广东广州
@ryouss  梁大,求指点
发表于 2015-12-1 15:01:36 | 显示全部楼层 来自: 中国浙江嘉兴
NC@jiang@nan 发表于 2015-12-1 11:46
. J; p# [; s( l6 q@ryouss  梁大,求指点
6 _- C* P. ?% \# B
指點不敢,相互研習就是
; t, D$ L$ n* a2 {; `& c0 S( C& d. x4 q/ p5 U7 h0 f# p5 H$ g5 W
如下試試, inputbox 之對話表輸入文件路徑  如 C:\TEST\     注意兩個  " \ " 符號3 o. l2 x$ g& P2 ^3 V! B- D9 L
1.jpg $ X5 J4 v& H. n8 Z, F1 v
4 V8 v8 C% I  I! }
3 k: {3 R7 D; e) N" g: S* j1 O
OpenFile part_asm.rar (10.23 KB, 下载次数: 39)
 楼主| 发表于 2015-12-1 16:31:22 | 显示全部楼层 来自: 中国广东广州
ryouss 发表于 2015-12-1 15:01
$ d& |  h" e) g/ z指點不敢,相互研習就是" v7 W% E* _& f3 _8 l; ~' L
4 t" g) `& U4 C, h0 N, A
如下試試, inputbox 之對話表輸入文件路徑  如  C:\TEST\     注意兩個  " \ " ...
/ v* F  ~9 G2 [) ?. [2 S" S! u8 N
谢谢梁大。
6 I) P) C: r2 N, J' s1 M) ^我原来这样做的。我以为有可以在同一个语句里同时设定打开零件和装配体的办法,看来还是只能用这种先处理零件然后再处理组件的方式了。
" o/ u( L4 h/ v3 _) J* W6 p8 v谢谢梁大指点。
发表于 2015-12-1 20:41:22 | 显示全部楼层 来自: 中国浙江嘉兴
本帖最后由 ryouss 于 2015-12-2 08:58 编辑
% [0 T) i6 D6 O" r8 G
NC@jiang@nan 发表于 2015-12-1 16:314 t! I3 h4 g3 a) V
谢谢梁大。
# l1 I# O1 N9 d我原来这样做的。我以为有可以在同一个语句里同时设定打开零件和装配体的办法,看来还是只能 ...

4 N+ ^4 S8 A1 Q, r, E指令是死的,編程是活的,
' u# s/ J+ |3 Z: P: u, x( n4 f所以編程的寫法林林總總形形色色,
# {' G7 o, a; D5 b" Q; i* r若是小編程尚不需計較寫法,能達結果就好,: ?- x7 _$ c; V1 p  a
大編程就要考慮許多如執行效率日後維修及易用性擴展性..." m& x2 I* V* y; M' M/ b2 [5 D

9 M! w. F) X8 _2 H
9 r- r4 O5 P! l2 @如下是另個寫法做參考,邏輯來說應該是會比2#效率好(若是開檔不多也是看不出),: f: h0 j- Z) t# w  |
因只是在開檔文件路徑搜找一遍即可,2#是要搜找兩遍." v% G% ?; P5 A: h& I! a- ?

1 A* V4 v  O0 x$ W0 y1 A) C+ Z( z 4.png : J; q) x! R5 f0 p

6 C& T! _# `6 {# P* Y+ D" S8 c9 l0 i; w# K# t8 K
OpenFile Part_Aam_1.rar (9.2 KB, 下载次数: 16)

评分

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

查看全部评分

 楼主| 发表于 2015-12-1 22:11:49 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-1 20:41
/ ~1 n0 {; Z) E# h9 t5 T) B指令是死的,編程是活的,- N+ S" Y  J/ w+ Q9 t
所以編程的寫法林林總總形形色色,
9 L( k3 U. W3 r- K* J若是小編程尚不需計較寫法,能達結果就好,
0 p! r- Z$ y% Z" V
是的,我原来想的就是这样,在路径下找一遍,碰到装配体时就打开装配体,碰到零件文件就打开零件文件,整个目录下只搜寻一遍。
) X$ x) E* K6 Q# k9 G谢谢梁大指点,下载研究了。
发表于 2015-12-2 09:39:06 | 显示全部楼层 来自: 中国浙江嘉兴
如下是SW API 有關開檔的原文資料作參考4 ]; B6 y$ T9 N2 x  ~
! S# e. j. N4 b# n3 Z
Select All in Part, Assembly, or Drawing (VBA)- x# F7 z' Z& }5 k+ R8 b) E" p

3 D7 W& X) c' c; l: \/ T7 |6 u. `This example shows how to select everything in the graphics area of a part or assembly document or in the sheet of a drawing document, as if you box-selected everything in the graphics area or the sheet.3 N* l# v0 p8 n$ t, ~% o
' ******************************************************************************
# u2 n! i) m% _8 O* [7 q& _' Preconditions:
' `- q& r) Q! A1 |; F+ p' 1. Part, assembly, and drawing documents opened by the macro0 \  c8 `1 Z0 V$ s: k
'    exist.
+ M8 C/ C+ ?, ?$ ?' 2. Open the Immediate window.
$ W2 h/ ~' J& |' h3 H& r' G: C'% E7 \! E, J. @. ^" ^' D3 ^7 q
' Postconditions:* H0 e- k; i7 \
' 1. Examine:
) z, q: @* U8 C' ^2 \# h# a. ['    * Sheet to verify that all of the entities in the drawing1 u4 J* Z- ?0 u6 k- e5 Q/ e
'      are selected.% F, D, H+ I7 W/ w9 L
'    * Immediate window to see how many entities are selected.9 W4 |; R/ G: n7 D' N  u# e* `
' 2. Click Window > bolt-assembly.sldasm to switch to the assembly4 V- a# b7 G3 D7 y- R2 S/ O- u
'    document.
" ?  v- J9 [5 }8 e# z: i0 I' 3. Examine:# O7 n% D  V* W0 O$ E5 V
'    * Graphics area to verify that the all of the components+ Y! {& i/ q8 Y/ k) T4 z
'      in the assembly are selected.3 {6 \3 ?+ z3 F" t# P2 a
'    * Immediate window to see how many components are selected.$ n+ [* V) S( J
' 4. Click Window > bolt.sldprt to switch to the part document.& V  C6 @" a- H' G2 `' ?7 J+ F
' 5. Examine:% y* h6 Y3 c/ Q$ x# `: D2 W) o2 N4 u
'    * Graphics area to verify that the all of the edges
' \, _( F1 w' D+ ]- \( d" A) @'      in the part are selected.
4 j! x% w  ?* T& J* X'    * Immediate window to see how many edges are selected.
$ J% }3 X( I: Q! `; B% C: i'
* U1 A2 c% h, S" p" s& U' NOTE: Because these documents are used elsewhere, do not save any
1 c- @. m7 Q; w9 w* ^* \7 }$ c# Q' changes when closing them.
. x% H8 T, r$ h+ l' ******************************************************************************
) C' V) n4 Q5 V. R$ B  HOption Explicit( ^. Y! c6 Q! d% N# Q0 _+ i
Dim swApp As SldWorks.SldWorks' o/ L& n0 `+ x- g# T2 o
Dim swModel As SldWorks.ModelDoc2; e. _: r8 ~1 N- \
Dim swModelDocExt As SldWorks.ModelDocExtension
" _) v, g. A1 H" k8 E8 p! r' ^Dim swSelMgr As SldWorks.SelectionMgr
+ f9 t' V1 w' p& R1 g/ t1 qDim partFile As String$ u' B7 T2 m7 D4 v$ E" _
Dim assemblyFile As String
' @! x" K1 `9 O1 b1 b) vDim drawingFile As String
: A) g! A) R8 r: e$ D2 kDim errors As Long- i! n* v8 x2 n. P" q' t9 x
Dim warnings As Long& Y( w# u# ~% y
Dim selCount As Integer
: ]* Q9 U! a: V8 }7 Z# m- W, oSub main()# O( Z5 n7 v- ~6 r. E) L
    Set swApp = Application.SldWorks. q' y# ~  f* \8 M. M% Y3 y8 {
   
- V; i) W: P" E    ' Open a part document and select all edges in the part' p( v3 b  b  x, B! ]
    partFile = "C:\Program Files\SolidWorks Corp\SolidWorks\samples\introsw\bolt.sldprt"
2 t+ V* e2 I7 ]( F: q3 M" h    Set swModel = swApp.OpenDoc6(partFile, swDocPART, swOpenDocOptions_Silent, "", errors, warnings)% I- G8 x# }! v& O9 k- z
    Set swModelDocExt = swModel.Extension9 V) v  P' g( G' U
    Set swSelMgr = swModel.SelectionManager
1 v* `4 _, a; Y  q2 d# {* ^) A! A4 c    'Select all edges in part
. ?" n2 C; n2 i, a( m7 d; S8 k    SelectAllinDocument9 Q0 g( ~% T9 U, R5 f( ?
    " J6 z; V6 q, m4 ?+ e
    ' Open an assembly document and select all components in the assembly
! O9 ]# S" I( `* m. E" t: x    assemblyFile = "C:\Program Files\SolidWorks Corp\SolidWorks\samples\introsw\bolt-assembly.sldasm"
0 z$ h- [) p. F! H  j; k9 V    Set swModel = swApp.OpenDoc6(assemblyFile, swDocASSEMBLY, swOpenDocOptions_Silent, "", errors, warnings)
5 D& z+ {- w4 s0 [! s* h2 }    Set swModelDocExt = swModel.Extension( H$ j5 k8 F% [# ]. Z# _' N
    Set swSelMgr = swModel.SelectionManager
; D5 |2 ~. I2 y    'Select all components in assembly
2 ?7 k" f0 ?& e+ f: C. L! z    SelectAllinDocument
, o7 O1 g+ z7 O2 @$ t    4 f4 Q1 l% s5 A' R; b
    ' Open a drawing document and select all entities in the drawing
/ O! y8 p, l7 A; ~0 C    drawingFile = "C:\Program Files\SolidWorks Corp\SolidWorks\samples\introsw\bolt-assembly.slddrw"6 a- Y4 |$ I8 ^6 |' s0 M# @! l6 Z
    Set swModel = swApp.OpenDoc6(drawingFile, swDocDRAWING, swOpenDocOptions_Silent, "", errors, warnings)
1 j  [4 {# z! O3 p( I8 q    Set swModelDocExt = swModel.Extension4 |/ D( z/ B- G6 ]3 U2 T3 r- i7 w, G
    Set swSelMgr = swModel.SelectionManager
1 L/ G% t: V( h3 p* |! w; C" l    'Select all entities in drawing8 A+ l3 [! I7 Y3 k; h
    SelectAllinDocument
' @! T+ q" P: R' c: W   
1 i* M4 R; m! s9 CEnd Sub
0 r- H* @' Q' _9 A9 S3 kSub SelectAllinDocument()( L, v" [* R: r
    ' Select all edges in a part, all components in an assembly,
' ]9 h( k, }9 j- h3 b    ' or all entities in a drawing
* a# z$ P/ S3 F2 _/ O0 c* r# M     swModelDocExt.SelectAll    $ r+ \/ M5 s' L  J" n
    ' Get and print the number of selections
  P8 [1 Z% j3 H- B/ L$ n6 W: f    selCount = 07 h, F7 v, q4 Q7 f
    selCount = swSelMgr.GetSelectedObjectCount2(-1)   
! x, k. k. y" d! d) A    Select Case swModel.GetType# x8 c; A3 Z1 h; y$ M# |9 \
    Case swDocPART
0 |8 L3 K% I1 G        Debug.Print "Number of edges selected in part          = " & selCount$ u! J" T# `% |/ Y1 v3 r
    Case swDocASSEMBLY/ t3 Z6 a4 ^- I
        Debug.Print "Number of components selected in assembly = " & selCount
. G9 y. n1 y) Z" Y  \" g    Case swDocDRAWING3 Q9 B: x/ r- q, [/ T, }. {8 D8 \
        Debug.Print "Number of entities selected in drawing    = " & selCount
; o4 z- j$ \; t& c' v    Case Else
4 ?3 X" n- x0 p* _4 p% A; y        Debug.Print "Unknown type of document."
9 s# M) o9 w( u! z( |    End Select3 C  J* Q" z/ [7 \/ ]" B
   
) i# O$ X! p4 @/ R: W5 X6 UEnd Sub' D4 P$ `  g  {
 楼主| 发表于 2015-12-2 20:41:01 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-2 09:39: f: }8 |" E& _8 p+ b
如下是SW API 有關開檔的原文資料作參考( f* N: i* z" O! b* U$ C4 G( D
4 O+ G: ?, l# ^/ @/ f$ n: ^
Select All in Part, Assembly, or Drawing (VBA)
" `$ ^! F1 Q0 F; Y$ C) A
API帮助是英文版的,想搜索都不知道用什么关键词,梁大见笑啦。0 \  b% z! D; |# Y$ _
另,您昨天发的那个宏文件,因为我水平太差昨天晚上看了想了很久,应用应该还是能够瞎应用上了,但是还是没理解透彻,第一点就是不知道这宏(或者是所有的打开SW文档的宏)的原理是不是先把某个目录下的文件调入内存,然后去分析它的后缀名,后缀名最后三位符合您这宏文件里设定的"prt"或者"asm"时才正式在SW软件里打开文件?第二点就是,您的这个宏代码并没有指定当后缀名后三位是DRW时怎么处理,是不是后缀名后三位是DRW时SW默认不会打开这个文件而是只有在后三位符号宏文件里设定的“prt"或者"asm"时才会打开文件进行处理?
$ l) M4 j5 c5 k3 i因为家里的电脑配置真的有点烂了,09年时买的电脑,平时用得很少,一直没升级,跑现在的版本的SW太卡,有的内容试过了,有的还没尝试试验,有啥常识性的错误请梁大谅解。明天把您这宏文件拷到公司去试验研究一天,谢谢梁大了。
发表于 2015-12-2 22:43:37 | 显示全部楼层 来自: 中国浙江嘉兴
13993359550 发表于 2015-12-2 22:10/ A0 m  H1 f5 W* Z2 E4 d
梁大,有个问题一直想请教,不知道,您老愿意讲一下不,就这两个苦思不得其解,谢谢您了
4 m: L# {0 Z; _/ C0 w) G  h. l
怎麼發在這裡呢!太不尊重樓主了[/color]
发表于 2015-12-2 22:50:59 | 显示全部楼层 来自: 中国浙江嘉兴
NC@jiang@nan 发表于 2015-12-2 20:41
: y( W$ j' Q" i: wAPI帮助是英文版的,想搜索都不知道用什么关键词,梁大见笑啦。% W8 a. j6 Z5 f( Z. l$ H2 s
另,您昨天发的那个宏文件,因为我水平 ...

* C; }0 N: Z: j. T Select Case Type_2 S. N' f. B( o& X, X9 A* H
'開零件檔2 I9 }( n4 ~# i; r! d! P5 T
            Case "PRT"
+ C( [: g4 j5 o5 k9 B6 @                Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開零件檔/ B( P7 N# ?7 Q
'開組件檔. O, i; ~! `3 R; E4 P9 N
            Case "ASM"
" n9 M* Z  c7 f                Set swModel = swApp.OpenDoc6(path + sFileName, swDocASSEMBLY, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開組件檔( K: m9 ^( [1 L5 h# m; @
        End Select9 T0 m3 w0 ^, I$ A2 E, u! {

2 g2 G# E: B  h4 u- t3 T8 f6 k1 l& P4 z$ q1 M2 h
是如上語句把工程圖篩選掉
发表于 2015-12-2 22:51:03 | 显示全部楼层 来自: 中国浙江嘉兴
本帖最后由 ryouss 于 2015-12-2 23:37 编辑 ' S) Q$ v6 ~+ c& H; y2 k
NC@jiang@nan 发表于 2015-12-2 20:41
/ Q! _# u3 n# U, x( X- P7 sAPI帮助是英文版的,想搜索都不知道用什么关键词,梁大见笑啦。. _- S# ?  w2 A, U( d9 t( Y- z
另,您昨天发的那个宏文件,因为我水平 ...
  1.     Select Case Type_  P6 c5 s$ l+ n6 L9 o" o
  2.     '開零件檔
    + Z$ W+ Y7 w# ?5 t; L
  3.    Case "PRT"
    + t! W' i6 o* \$ L2 F+ \
  4.    Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開零件檔" r; f! L0 {2 b2 V( M2 W9 i
  5.    '開組件檔
    ( l% h; x9 U# p' F6 |- U7 e1 I
  6.    Case "ASM"' R- f$ Q, b8 X" n
  7.    Set swModel = swApp.OpenDoc6(path + sFileName, swDocASSEMBLY, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開組件檔
    ( `" V1 K3 L! C/ s. c6 d
  8.    End Select, l0 \5 y% o, K
复制代码
, |8 `3 _: G8 D6 Y1 T
% k* y3 `6 v, u; c7 W
0 v6 J; @% m$ o. T# ~  v
1. 是如上語句把工程圖篩選掉當第1項的  Type_ 取得是 工程圖  DRW  就跳出第8項.
! \( j" T: C* j/ `; O% Q/ o
    若是 Type_ 取得是 零件  PRT  就跳到第4項,執行  Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開零件檔   
  H- W, h& v  J    再跳到第8項,結束選擇循環.( _7 g4 }: v* ?% H

) z& E8 @6 S: ^7 S& \. F  }! LSelect Case Type_% I+ O: @( K- R+ j8 ~* c( K
           .
0 i0 t  y( f7 P8 w4 W! k          執行內容
! F7 M1 ~9 a7 s% r8 c           .4 _4 Q( Q; T" S8 }) k, ?7 Z, Q0 T
End Select5 y5 k" c+ K* }: Q+ k( r
) u5 I2 |; W+ x6 i1 V2 T/ t* V
如上是個選擇循環
; A0 ^$ U' Y( L3 f& V' m# B  c; z- n) P/ V

# w* D# J& l7 X) V# |- u! @1 p: e- t; Q% E( g
2. 查有關開檔的關鍵語是   OpenDoc64 D9 N. {* U# Q; h6 x

( @! C5 t' N, M3 k# _
% d: H( b' E1 t. n1 d; O9 P  P/ d% c0 i* B5 K+ e+ p& Y
 楼主| 发表于 2015-12-3 00:41:07 | 显示全部楼层 来自: 中国广东深圳
本帖最后由 NC@jiang@nan 于 2015-12-3 01:15 编辑
% Z4 Z" g! f' J/ {& O; ]$ K
ryouss 发表于 2015-12-2 22:50
/ Y: s: _  [  xSelect Case Type_
/ _9 v4 [5 F$ q+ u2 _'開零件檔
( c5 A, L: d3 g/ C: ^            Case "PRT"
0 Z2 @  |3 Y9 I! [. \+ ]
梁大,从回您上个帖后,一直在研究学习您的这个宏文件,到现在终于理解一二了。把提取文件的代号和名称写入配置特定属性栏的宏集成进去了。谢谢梁大指点了。" w3 x: k+ c6 r$ q/ P  a% ]

4 L8 A1 h0 u: N7 N+ u附上集成批量提取文件名中的代号和名称的宏文件,一方面请梁大有空时看看再指点指点哪里可以进一步改进,另一方面给有可能需要的朋友下载研究改进与使用。
5 w% Q7 d3 A$ w2 b! e2 ?

批量提取代号名称写入配置特定属性.rar

17.07 KB, 下载次数: 28

发表于 2015-12-3 09:27:37 | 显示全部楼层 来自: 中国上海
ryouss 发表于 2015-12-2 22:43+ R& E" r% f6 W5 z- S$ E5 b2 P+ o
怎麼發在這裡呢!太不尊重樓主了
: c% b- t; S$ P' Z4 l9 m
不好意思,打扰了
发表于 2015-12-3 10:51:40 | 显示全部楼层 来自: 中国浙江嘉兴
NC@jiang@nan 发表于 2015-12-3 00:41
5 Z5 r% t6 i; }+ n2 o  y梁大,从回您上个帖后,一直在研究学习您的这个宏文件,到现在终于理解一二了。把提取文件的代号和名称写 ...
; K5 u/ v% b3 T9 @& {; K1 I
N大真用心呀,謝謝分享!. X" v; M" [* J
看了,有空時可以再幫做簡化.
* \3 B' u  o* q
发表于 2015-12-3 13:59:39 | 显示全部楼层 来自: 中国浙江嘉兴
本帖最后由 ryouss 于 2015-12-4 14:07 编辑
6 ^( A4 o: U+ ~- ~" ]
- M: M2 T& M1 H% i12#的簡化參考1 H8 m1 E$ K! q: R" s
OpenFile_Configuration.rar (11.62 KB, 下载次数: 18)
 楼主| 发表于 2015-12-3 20:22:05 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-3 13:59
: P; G1 S5 x3 g. F9 H" L5 ?. n12#的簡化參考
2 H8 b4 j' O( p' r' ~ SWP
- C0 V; @+ q8 c; u! e
谢谢梁大,
& o$ j" z3 j6 s- _$ Q这才完全是我想要的宏文件了。因为我觉得开启零件和开启装配体后,要在两段打开文件代码后分别执行一段完全一模一样的宏代码,这就不是那么合理的了,不仅是调试时比较烦琐,而且在下次万一有需要更改时,也容易漏改掉两段相同代码中的某一处。. H; |! v( m+ k( `. s( H
没系统的学过VB VC这些东西,脑子里有构想但不知道怎么用代码编出这个宏来,梁大是彻底的帮我解惑了,谢谢梁大。

点评

客氣了,幫到忙就好!  发表于 2015-12-3 20:40
发表于 2015-12-4 14:05:27 | 显示全部楼层 来自: 中国浙江嘉兴
15#編程如下補加紅色兩句,找到  "工程圖"  不做存檔關檔之處理.) O+ `  W4 u5 Y: y/ U9 K. W. u

8 a/ L7 O+ e8 o7 e0 E           Case "ASM"6 B$ x- U( A8 O8 w7 B
                Set swModel =swApp.OpenDoc6(path + sFileName, swDocASSEMBLY, swOpenDocOptions_Silent,"", nErrors, nWarnings)1 F* U, {: m) R2 u5 p" F
                Call Configuration_ '呼叫副程式/ h" c; F% X5 j& y/ e
       End Select
, M4 B- A5 i- h; I       If Type_ <> "DRW" Then
1 E( P1 [2 g) r7 D, a, x9 H       swModel.Save '存檔
" _* e5 J: }2 r5 l$ e+ M* |       swApp.CloseDoc swModel.GetTitle '關檔7 `) _7 s" R# `2 c. \
      End If
2 c5 H, J' B3 N       Set swModel = Nothing
* V1 s; o; Y* V6 j5 G6 ?+ _       sFileName = Dir '同路徑取出下個SW文件檔名
0 b" w1 _+ g$ U: }1 K   Loop
2 E' R) {" R' z% ^1 eEnd Sub
 楼主| 发表于 2015-12-4 21:49:11 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-4 14:051 u( Y! g- f+ I, i
15#編程如下補加紅色兩句,找到  "工程圖"  不做存檔關檔之處理.
; J. T* q6 W/ V4 e2 x( h& H- j) p2 k( R% g0 o' C
           Case "ASM"
# g3 ]- f1 S+ q0 ~# n% F
梁大,可是原来的宏代码应该本身就没有开启工程图文档呀,为什么后面要再加上这一句辨别是非工程图时存档减档的代码呢?
发表于 2015-12-4 23:16:20 | 显示全部楼层 来自: 中国浙江嘉兴
難道你的文件里不存在工程圖嗎?
( H+ V: n' k' _) u' m若是的話當然執行沒問題,
7 I9 ?3 a1 k4 \. Z' O  M有的話,見15#,就是沒開出工程圖,但跑到第 51項 會存檔造成矛盾而出錯的3 E7 h# e! |) Y  c2 A8 _. r0 N
 楼主| 发表于 2015-12-5 20:31:02 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-4 23:16
( m8 w1 B2 w# t' d2 }; g. U難道你的文件里不存在工程圖嗎?! J7 u' j; m% {
若是的話當然執行沒問題,
, f8 Y1 N! D% b% t5 I有的話,見15#,就是沒開出工程圖,但跑到第 51項  ...
; [! a' d' z6 `0 \' I  p: d
哦哦。
2 _& D/ q! G" ]# g( O我试验的时候那个文件夹里没放工程图。现在试下。谢谢梁大。

点评

哈! 跟我剛試用時一樣,所以沒發現問題!  发表于 2015-12-5 20:59
 楼主| 发表于 2015-12-5 21:35:18 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-4 23:16
# \, z0 X* e8 [  j" \難道你的文件里不存在工程圖嗎?
4 R7 t2 I4 _$ y) l) J9 E若是的話當然執行沒問題,, T/ Y3 \5 z1 H6 ^- `' ^
有的話,見15#,就是沒開出工程圖,但跑到第 51項  ...
' S: H# S( |8 F
梁大,研究学习了一会,果然如您所言。  W9 h3 p8 H7 h. U, R
看来做宏这个东西,果然还是需要逻辑推理能力好的人才行,我就只能跟在后面慢慢学习了。
6 p% L( s3 T& C3 n0 D谢谢梁大。

点评

互相學習了  发表于 2015-12-5 21:48
发表于 2015-12-5 21:48:10 | 显示全部楼层 来自: 中国山东莱芜
梁大,求助,sw2016 提示出错,如何解决
; G  s/ Z9 O* J3 |( j0 j. g3 p' j* Q
捕获.PNG
 楼主| 发表于 2015-12-5 21:52:18 | 显示全部楼层 来自: 中国广东深圳
luanguangtao 发表于 2015-12-5 21:48
0 i) B  T: g0 R梁大,求助,sw2016 提示出错,如何解决

% N7 l2 |  h0 R你在2016里更改了引用库没有?SW各个版本的工程库文件都不一样的
 楼主| 发表于 2015-12-5 21:54:16 | 显示全部楼层 来自: 中国广东深圳
luanguangtao 发表于 2015-12-5 21:48- G6 a8 ~( _2 p2 h  D
梁大,求助,sw2016 提示出错,如何解决

0 O7 F# S. F, X6 N需要编辑宏,在VBA编辑界面下的“工具”菜单里点选“引用”,选你要用的运行库的版本。
发表于 2015-12-5 22:37:38 | 显示全部楼层 来自: 中国山东莱芜
但不知要选哪几项
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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