QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

[求助] 求梁大帮助指点

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

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

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

x
梁大,我现在研究SW批处理宏,想让运行宏时自动批量打开某一个文件夹下的零件和装配体文件,门外汉不知道完成这个功能的这句语句的代码应该怎么写?请求梁大指点下。谢谢。2 P- j( n) o! j, v$ S# x
 楼主| 发表于 2015-12-1 11:46:56 | 显示全部楼层 来自: 中国广东广州
@ryouss  梁大,求指点
发表于 2015-12-1 15:01:36 | 显示全部楼层 来自: 中国浙江嘉兴
NC@jiang@nan 发表于 2015-12-1 11:461 l- n' [5 q" G# B4 L3 z
@ryouss  梁大,求指点
* C3 M0 m% A  b2 F% ?$ U
指點不敢,相互研習就是) ~, r$ p# U: B" H. i- P
! x! y) z+ \/ x1 |: x
如下試試, inputbox 之對話表輸入文件路徑  如 C:\TEST\     注意兩個  " \ " 符號
% }% C8 ^5 u& S% B8 @, Y5 ` 1.jpg
4 @; Y/ [8 e/ v. @5 U% C1 N. S$ q
- _: O2 T1 ]+ O6 `' d4 _) I9 ?* P+ l) o7 ~2 V
OpenFile part_asm.rar (10.23 KB, 下载次数: 39)
 楼主| 发表于 2015-12-1 16:31:22 | 显示全部楼层 来自: 中国广东广州
ryouss 发表于 2015-12-1 15:01: h1 e" y' d; v/ s9 H
指點不敢,相互研習就是
* Q& D# v( B9 \% X% y: f, I0 f, n: n- L9 q- t2 K9 R6 k2 }
如下試試, inputbox 之對話表輸入文件路徑  如  C:\TEST\     注意兩個  " \ " ...

3 D: V/ ~/ ?& P; U谢谢梁大。% l4 z* v. D( b- [; t9 L
我原来这样做的。我以为有可以在同一个语句里同时设定打开零件和装配体的办法,看来还是只能用这种先处理零件然后再处理组件的方式了。4 c! M$ R! r* D3 v' R
谢谢梁大指点。
发表于 2015-12-1 20:41:22 | 显示全部楼层 来自: 中国浙江嘉兴
本帖最后由 ryouss 于 2015-12-2 08:58 编辑 & m3 \/ m- ?0 ]  z. z
NC@jiang@nan 发表于 2015-12-1 16:31
% G3 y4 q! D5 c& P谢谢梁大。0 y" p5 d: d2 V' L
我原来这样做的。我以为有可以在同一个语句里同时设定打开零件和装配体的办法,看来还是只能 ...
! R6 f0 h' Q3 K6 S: l
指令是死的,編程是活的,8 c) |8 z8 b$ J7 o- q3 l3 ~
所以編程的寫法林林總總形形色色,
2 t1 l& |$ V( e/ e, m若是小編程尚不需計較寫法,能達結果就好,- V" T4 D6 ?7 @) z
大編程就要考慮許多如執行效率日後維修及易用性擴展性...
$ d  l8 j4 b4 J2 |2 m& Z: _* Y) X1 v. D, Y! J
0 l# W9 t% n. `/ d4 v1 Y6 l
如下是另個寫法做參考,邏輯來說應該是會比2#效率好(若是開檔不多也是看不出),7 N9 ?+ s( B9 S0 Y% o$ s
因只是在開檔文件路徑搜找一遍即可,2#是要搜找兩遍.
. d4 c% A' g+ T4 I6 u( o; W/ n( y# u' W( l9 [. e" Q8 t
4.png
8 D) D$ U$ h' s. g$ w0 I& }/ q% H( X

- Y, H6 R2 J) ]8 _2 z' J6 g4 P OpenFile Part_Aam_1.rar (9.2 KB, 下载次数: 16)

评分

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

查看全部评分

 楼主| 发表于 2015-12-1 22:11:49 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-1 20:413 K) ^; D/ W! e& e; Z
指令是死的,編程是活的,
2 j. i; t( i- P# N2 S" N8 i% k$ e所以編程的寫法林林總總形形色色,
4 b! P4 c- g7 E) }% N& i' x: n若是小編程尚不需計較寫法,能達結果就好,

: n6 J; A/ c2 C是的,我原来想的就是这样,在路径下找一遍,碰到装配体时就打开装配体,碰到零件文件就打开零件文件,整个目录下只搜寻一遍。/ _' l- Q+ r* ~0 O% u1 ?* Q9 s- [
谢谢梁大指点,下载研究了。
发表于 2015-12-2 09:39:06 | 显示全部楼层 来自: 中国浙江嘉兴
如下是SW API 有關開檔的原文資料作參考
; w# h4 R: C9 F; ^0 Q+ ~3 E; [5 _7 M2 o
Select All in Part, Assembly, or Drawing (VBA)" p& C) @2 p, V4 |

- z( f0 N! ~% t1 ?0 {- G5 p! ?  f1 aThis 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.: E2 Z8 _& u. |7 ]' T) F1 I
' ******************************************************************************% F" u' {5 m; p- ^" d' D4 C0 U
' Preconditions:7 B& _" w. {; [2 L+ {
' 1. Part, assembly, and drawing documents opened by the macro
5 z# u; [0 L8 F2 y  Z. l$ Z'    exist.
, Q6 N: W4 I( n4 b. Z* {' 2. Open the Immediate window.7 J0 W3 ]: \* ?4 V
'
' g, V% n/ `) i1 }' Postconditions:" ~: h# \! G9 d+ v, m3 k$ a
' 1. Examine:2 \5 _* \+ C. V! ]; Q
'    * Sheet to verify that all of the entities in the drawing
1 f0 y  Y" Q( A# z'      are selected.
8 p: ~9 v% j  B  ]+ G- ~! G'    * Immediate window to see how many entities are selected.5 ^- Y- a( K4 f" X3 r8 o4 B6 g
' 2. Click Window > bolt-assembly.sldasm to switch to the assembly: C# s4 Z3 |* Q
'    document.
6 p4 I" F+ U! c' x' 3. Examine:* {9 E$ m8 W! R) x7 e
'    * Graphics area to verify that the all of the components
# z9 \( P8 \; |# u0 _'      in the assembly are selected.; k1 i) \: N/ R" Q9 K4 A
'    * Immediate window to see how many components are selected.
4 b9 i! Z* S- z9 W  H' 4. Click Window > bolt.sldprt to switch to the part document.
/ k; a6 d4 L1 K3 I0 T4 h! B" F' 5. Examine:' ?8 _9 U' E2 J0 j/ s+ [
'    * Graphics area to verify that the all of the edges- f$ I7 _3 P: ?1 P# J: t
'      in the part are selected.
; N/ x, \" C: x% Z+ _6 \2 v1 ~8 X'    * Immediate window to see how many edges are selected.  Y- s+ a& r  t7 \* D. C5 x, x
'
9 T* ]  {$ s. `' NOTE: Because these documents are used elsewhere, do not save any- ~: Z) M9 x" L0 G$ [( W9 W& K: `
' changes when closing them.2 T6 u% R  b6 {# T" D9 B8 ]
' ******************************************************************************# ^) y3 I% p# A0 t( z- v
Option Explicit8 B; _; }* |% [( E
Dim swApp As SldWorks.SldWorks. F, E1 f  ~* l! b9 `8 x
Dim swModel As SldWorks.ModelDoc2, f$ p7 \' H  o- |& f% e' j
Dim swModelDocExt As SldWorks.ModelDocExtension8 G/ c- Y: L; ?3 J5 O
Dim swSelMgr As SldWorks.SelectionMgr2 N9 h' ^9 n: ]" T, \6 S
Dim partFile As String* j3 O- a% c7 c0 F
Dim assemblyFile As String
8 E$ {' g  \; u7 p4 j" Y3 yDim drawingFile As String
3 r+ S7 \' X- P; i! tDim errors As Long3 |5 p9 M# n% Y6 @1 [+ r
Dim warnings As Long
/ g: i5 ^! x# u) S# B$ W. h- \" n; }$ }Dim selCount As Integer
$ T9 r0 ]5 `7 L/ y5 w, u  p8 rSub main()8 G6 G. d: m/ ]) Q- C/ F
    Set swApp = Application.SldWorks2 O% k$ f6 Z0 g+ P) T; S7 d8 B
    6 k0 O  i6 n; I
    ' Open a part document and select all edges in the part
% Z$ e0 U# V. o5 U: {5 w! V1 z  w    partFile = "C:\Program Files\SolidWorks Corp\SolidWorks\samples\introsw\bolt.sldprt"5 ^* _$ P# s" i8 S( V
    Set swModel = swApp.OpenDoc6(partFile, swDocPART, swOpenDocOptions_Silent, "", errors, warnings)  n: j" v( v3 h) P+ ^( Y. R3 m
    Set swModelDocExt = swModel.Extension% ]* U' m% Y* {
    Set swSelMgr = swModel.SelectionManager
5 x$ U/ G6 l+ q4 _# U4 s/ ^    'Select all edges in part3 r+ S* }( B  ]: }2 P( _: E
    SelectAllinDocument
1 P  ]$ m1 n" ^. e& J; C. w/ n, J    - `3 y& g: ?- ^& A- x* E' A
    ' Open an assembly document and select all components in the assembly
( Q) ^+ j; [$ |. L. m    assemblyFile = "C:\Program Files\SolidWorks Corp\SolidWorks\samples\introsw\bolt-assembly.sldasm") B+ q! D  q7 P0 T7 C" b
    Set swModel = swApp.OpenDoc6(assemblyFile, swDocASSEMBLY, swOpenDocOptions_Silent, "", errors, warnings)
& p5 i0 ~( J# {  B2 O% O2 A    Set swModelDocExt = swModel.Extension2 k! b8 e& m5 ^) w
    Set swSelMgr = swModel.SelectionManager+ U, }7 ~, k5 u5 a+ B
    'Select all components in assembly5 n  q1 p) I, @$ }( o. g! P8 E9 y" N
    SelectAllinDocument
" a! C# |' o3 ]: y' C# i8 p( Y    : K1 S6 b/ ?0 `) {& K2 z
    ' Open a drawing document and select all entities in the drawing
2 ^) P. ]/ a( Y  X0 s# p  e    drawingFile = "C:\Program Files\SolidWorks Corp\SolidWorks\samples\introsw\bolt-assembly.slddrw"# @$ [6 c  l" z; h; v
    Set swModel = swApp.OpenDoc6(drawingFile, swDocDRAWING, swOpenDocOptions_Silent, "", errors, warnings)) f* s8 C. b% c3 y$ f' r
    Set swModelDocExt = swModel.Extension
1 Z! }6 E: I1 \2 V    Set swSelMgr = swModel.SelectionManager
( l% o- K: b8 o+ d5 o8 W" t    'Select all entities in drawing
) p; t# _/ w1 Q4 P' q* Y& G9 t6 o5 t    SelectAllinDocument
( |+ G' a/ A" j/ K    7 _8 Z2 o" ~8 G: y
End Sub  w4 y7 x: k; g) U6 Z
Sub SelectAllinDocument()2 @! V' D8 Y8 [# }4 Z
    ' Select all edges in a part, all components in an assembly," a  D* q& x/ I7 d$ [! D+ [
    ' or all entities in a drawing
8 s  T" g6 P- `     swModelDocExt.SelectAll    0 z9 k$ T$ j# |5 t, P
    ' Get and print the number of selections% m% p- e% l/ ]0 w  S6 v- ]) ~2 k" s* n
    selCount = 0# p- b& x6 S0 t% I; J- }
    selCount = swSelMgr.GetSelectedObjectCount2(-1)   
2 F: b: S- }8 `4 Y/ ~1 t: u7 q    Select Case swModel.GetType6 ~7 o- M% G* \, x$ ~) }8 t2 ^
    Case swDocPART" Z& }6 l. {, m$ ~* i
        Debug.Print "Number of edges selected in part          = " & selCount
4 d- x+ s8 p7 u! ?; i6 ^    Case swDocASSEMBLY2 x, b+ t/ i( D1 x
        Debug.Print "Number of components selected in assembly = " & selCount" {& ]1 N' X" D
    Case swDocDRAWING
; b( z# \* L( g2 O; m- }; l( U4 z" ~        Debug.Print "Number of entities selected in drawing    = " & selCount
6 q* Q0 C. `  T" ?    Case Else8 L9 H$ \0 O- f* T7 i
        Debug.Print "Unknown type of document."  B6 L. Q+ z( h6 O
    End Select* M4 H9 f. n! M
    / p8 O1 H/ s+ o' T2 ~7 ^
End Sub2 u" o: x! s4 P7 \3 ^1 {
 楼主| 发表于 2015-12-2 20:41:01 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-2 09:39+ R" @7 M4 e2 Z- H
如下是SW API 有關開檔的原文資料作參考- L( x1 v1 {$ Y) E& Y$ v8 j
2 S- k9 P7 Y" L
Select All in Part, Assembly, or Drawing (VBA)

7 A. a, N) T: Q( M6 X9 `API帮助是英文版的,想搜索都不知道用什么关键词,梁大见笑啦。
$ w' X4 x: F1 k& ~# d3 I: R0 J! U# M8 _另,您昨天发的那个宏文件,因为我水平太差昨天晚上看了想了很久,应用应该还是能够瞎应用上了,但是还是没理解透彻,第一点就是不知道这宏(或者是所有的打开SW文档的宏)的原理是不是先把某个目录下的文件调入内存,然后去分析它的后缀名,后缀名最后三位符合您这宏文件里设定的"prt"或者"asm"时才正式在SW软件里打开文件?第二点就是,您的这个宏代码并没有指定当后缀名后三位是DRW时怎么处理,是不是后缀名后三位是DRW时SW默认不会打开这个文件而是只有在后三位符号宏文件里设定的“prt"或者"asm"时才会打开文件进行处理?
  X+ {/ F" J" V# n因为家里的电脑配置真的有点烂了,09年时买的电脑,平时用得很少,一直没升级,跑现在的版本的SW太卡,有的内容试过了,有的还没尝试试验,有啥常识性的错误请梁大谅解。明天把您这宏文件拷到公司去试验研究一天,谢谢梁大了。
发表于 2015-12-2 22:43:37 | 显示全部楼层 来自: 中国浙江嘉兴
13993359550 发表于 2015-12-2 22:10
5 `7 o% {3 w* H- w梁大,有个问题一直想请教,不知道,您老愿意讲一下不,就这两个苦思不得其解,谢谢您了
4 p+ L/ m; ~) X) b
怎麼發在這裡呢!太不尊重樓主了[/color]
发表于 2015-12-2 22:50:59 | 显示全部楼层 来自: 中国浙江嘉兴
NC@jiang@nan 发表于 2015-12-2 20:41& n* j; P% z1 O' C
API帮助是英文版的,想搜索都不知道用什么关键词,梁大见笑啦。7 w% X/ W3 e8 M2 b* m
另,您昨天发的那个宏文件,因为我水平 ...
7 v3 N; ]2 A# Z2 K( q3 y
Select Case Type_1 w5 y7 F+ y4 y& Z8 A1 ]" q9 D1 z
'開零件檔
; ]2 E0 i/ M" n# I* @/ @; [            Case "PRT"
$ n! ^6 V4 d! n5 ~                Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開零件檔$ H/ T* p& x9 }, ]
'開組件檔
) _8 i8 c( Y3 {4 [% d( d3 D1 @            Case "ASM"( ~  Q+ H3 n1 a+ o0 v% O1 E
                Set swModel = swApp.OpenDoc6(path + sFileName, swDocASSEMBLY, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開組件檔
. \# V6 `& Q- j1 P  u% r4 i        End Select( \' q1 h' ^4 X. E0 G

: \' o' R& j4 C0 S
2 m8 |7 u4 E; Q  t9 H+ k是如上語句把工程圖篩選掉
发表于 2015-12-2 22:51:03 | 显示全部楼层 来自: 中国浙江嘉兴
本帖最后由 ryouss 于 2015-12-2 23:37 编辑
0 l$ E# N8 I6 x5 j: h
NC@jiang@nan 发表于 2015-12-2 20:41* q$ L5 @- [) Z4 J/ ?( ^
API帮助是英文版的,想搜索都不知道用什么关键词,梁大见笑啦。3 }+ D$ X7 M5 K5 }
另,您昨天发的那个宏文件,因为我水平 ...
  1.     Select Case Type_% M7 ^& V4 W3 b) v
  2.     '開零件檔
    6 l$ r2 d" U: c. a) g. }! _( S
  3.    Case "PRT"! q6 B/ s# I' g
  4.    Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開零件檔' S- ^; Q3 N5 T' A8 g+ {$ {
  5.    '開組件檔- D+ D. G6 R- p( q8 ?/ r8 w6 ~( U
  6.    Case "ASM"8 z' A* \. B) D! F4 Q; d
  7.    Set swModel = swApp.OpenDoc6(path + sFileName, swDocASSEMBLY, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開組件檔
    6 n1 F4 H% A+ G( r) f( L
  8.    End Select0 }5 e/ l7 |8 |6 @
复制代码

4 S8 o- w+ H7 n$ N, j9 C, a7 p& P2 t5 V9 E4 Z& t! O7 \) y' y
7 t" M3 ?& j% A9 A
1. 是如上語句把工程圖篩選掉當第1項的  Type_ 取得是 工程圖  DRW  就跳出第8項.
6 \3 l3 e/ l: I$ n0 e9 M" _( T) z# |
    若是 Type_ 取得是 零件  PRT  就跳到第4項,執行  Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開零件檔    - d, T+ l: Y2 _/ @* _
    再跳到第8項,結束選擇循環.3 d  N: b4 c/ K: E
+ P3 n" k* Q* X# M. ^
Select Case Type_
; C; s; f- A  `+ Y           .
' G* [5 q$ D# r, z! d" R4 S          執行內容+ ?; Y$ x* @  E, d$ K; K  ?; U
           .
7 F7 m5 @1 }$ fEnd Select
) P* C3 _4 A' r

) G/ M3 u! p9 D6 B如上是個選擇循環
; S' }( K( i, a2 D5 f4 j
+ \, H. L) b+ \+ n/ Q

" l0 }5 h* y3 W1 U6 @$ z
$ W8 D1 D4 J: I* w2. 查有關開檔的關鍵語是   OpenDoc61 K# A- u! ?/ f, I' k; t- N

* V3 F; j' p4 [+ ^8 T, f0 _( L1 W+ W: z7 Z' F; ~& @# G* Z

2 ]; w  _  G7 f, O9 r6 ]7 ?
 楼主| 发表于 2015-12-3 00:41:07 | 显示全部楼层 来自: 中国广东深圳
本帖最后由 NC@jiang@nan 于 2015-12-3 01:15 编辑
. P8 c! m$ r9 x4 }
ryouss 发表于 2015-12-2 22:50
! c" Y/ `6 c' N( ]% b4 YSelect Case Type_
& i2 e8 R; i& o9 ^6 X! L'開零件檔
* w2 @" A& |* T+ j; D) {. _/ q            Case "PRT"
: G4 m, ^7 X. c+ b0 @* S' Y( ~
梁大,从回您上个帖后,一直在研究学习您的这个宏文件,到现在终于理解一二了。把提取文件的代号和名称写入配置特定属性栏的宏集成进去了。谢谢梁大指点了。
; R/ P0 g: V. `6 m3 v. E# v- {' ~$ l/ E9 M& ]
附上集成批量提取文件名中的代号和名称的宏文件,一方面请梁大有空时看看再指点指点哪里可以进一步改进,另一方面给有可能需要的朋友下载研究改进与使用。8 Z; Q  i) d' p$ g  n

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

17.07 KB, 下载次数: 28

发表于 2015-12-3 09:27:37 | 显示全部楼层 来自: 中国上海
ryouss 发表于 2015-12-2 22:43& t5 v5 w( o( ]4 E7 h! m
怎麼發在這裡呢!太不尊重樓主了
& p8 L8 h6 F) ?; p* ^; q
不好意思,打扰了
发表于 2015-12-3 10:51:40 | 显示全部楼层 来自: 中国浙江嘉兴
NC@jiang@nan 发表于 2015-12-3 00:41* l. b4 H+ l) _4 Z; Z
梁大,从回您上个帖后,一直在研究学习您的这个宏文件,到现在终于理解一二了。把提取文件的代号和名称写 ...

2 z( @. y+ d- R  u# ~/ Y* s& yN大真用心呀,謝謝分享!
0 A/ W2 H' m. H$ H. @. [- ]0 [  E4 u看了,有空時可以再幫做簡化.
' B! d4 s0 ]# R4 ^" f8 r
发表于 2015-12-3 13:59:39 | 显示全部楼层 来自: 中国浙江嘉兴
本帖最后由 ryouss 于 2015-12-4 14:07 编辑 6 G: }! |: g8 {) `1 ]

- N  D  @# B2 L' h4 ^: t12#的簡化參考/ w3 o" T5 E5 z8 L8 w
OpenFile_Configuration.rar (11.62 KB, 下载次数: 18)
 楼主| 发表于 2015-12-3 20:22:05 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-3 13:59, d$ O+ j' O% x& W* y
12#的簡化參考
1 v" N* c9 m* U% d0 k5 I$ w SWP
& O; {' u; w- n7 O  v
谢谢梁大,5 E1 y# F% r" H' c% C
这才完全是我想要的宏文件了。因为我觉得开启零件和开启装配体后,要在两段打开文件代码后分别执行一段完全一模一样的宏代码,这就不是那么合理的了,不仅是调试时比较烦琐,而且在下次万一有需要更改时,也容易漏改掉两段相同代码中的某一处。
) B8 G. x# b+ r+ u; T) m没系统的学过VB VC这些东西,脑子里有构想但不知道怎么用代码编出这个宏来,梁大是彻底的帮我解惑了,谢谢梁大。

点评

客氣了,幫到忙就好!  发表于 2015-12-3 20:40
发表于 2015-12-4 14:05:27 | 显示全部楼层 来自: 中国浙江嘉兴
15#編程如下補加紅色兩句,找到  "工程圖"  不做存檔關檔之處理., q6 [- ]# \) Q* p' F' V! ~

; K8 ]3 \5 Q7 j. P) b           Case "ASM"4 b) C4 r, ~, l
                Set swModel =swApp.OpenDoc6(path + sFileName, swDocASSEMBLY, swOpenDocOptions_Silent,"", nErrors, nWarnings)! J# a, r5 {% L( J; g
                Call Configuration_ '呼叫副程式
4 H0 r9 ^2 {- J. Q/ o       End Select
9 B5 g5 b" y4 _" e; o* F) ~( S       If Type_ <> "DRW" Then9 i' d. K4 v$ `" y8 K6 S8 ~  A
       swModel.Save '存檔
0 G% L# d$ D7 [/ u0 Y& d       swApp.CloseDoc swModel.GetTitle '關檔/ T3 {: S4 }$ P5 N3 z. `+ j
      End If
6 A8 N1 n8 l; L6 t: H3 U; u$ ^" |: H       Set swModel = Nothing
- d/ ~- W/ a3 E& ]       sFileName = Dir '同路徑取出下個SW文件檔名- t5 Y8 C3 J. |2 [7 Y
   Loop# C3 O; R5 m5 G" N  S6 p. Y
End Sub
 楼主| 发表于 2015-12-4 21:49:11 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-4 14:05& N) S% A1 s2 \4 `& w
15#編程如下補加紅色兩句,找到  "工程圖"  不做存檔關檔之處理.6 k+ I- P; \" ^* h6 I3 d( q0 E/ l% _# N
- O  b4 ~: z* T
           Case "ASM"

4 M/ m4 e; i! V. [4 B( ^' R7 q) G梁大,可是原来的宏代码应该本身就没有开启工程图文档呀,为什么后面要再加上这一句辨别是非工程图时存档减档的代码呢?
发表于 2015-12-4 23:16:20 | 显示全部楼层 来自: 中国浙江嘉兴
難道你的文件里不存在工程圖嗎?. B+ H; O% o0 Y' A: p7 A
若是的話當然執行沒問題,- ]% {7 Y$ R2 ]8 u2 F& Z
有的話,見15#,就是沒開出工程圖,但跑到第 51項 會存檔造成矛盾而出錯的
9 y% K% ^4 W; _, r0 Z  h) M' _
 楼主| 发表于 2015-12-5 20:31:02 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-4 23:16
) O6 J) ~5 N+ |$ e) N- s4 a; O難道你的文件里不存在工程圖嗎?2 T5 P: O* x, A: ~6 {9 I  \; Q
若是的話當然執行沒問題,
# ^* J9 N& |2 I( o- x5 {有的話,見15#,就是沒開出工程圖,但跑到第 51項  ...
; j+ Y4 H: h: m# w
哦哦。
- y( u" d  c9 I8 K  l2 d我试验的时候那个文件夹里没放工程图。现在试下。谢谢梁大。

点评

哈! 跟我剛試用時一樣,所以沒發現問題!  发表于 2015-12-5 20:59
 楼主| 发表于 2015-12-5 21:35:18 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-4 23:16  Q$ I; C7 o+ i3 D' [1 G) a
難道你的文件里不存在工程圖嗎?
  h  n3 Q& S& G& r4 z若是的話當然執行沒問題,
* G2 ^: v% N# C8 o3 }; W有的話,見15#,就是沒開出工程圖,但跑到第 51項  ...

& i% Z1 G" ~2 S+ R9 y8 q梁大,研究学习了一会,果然如您所言。) ^. }; z9 f& X* k
看来做宏这个东西,果然还是需要逻辑推理能力好的人才行,我就只能跟在后面慢慢学习了。
! E+ V8 z7 G6 A9 n! y! g2 Q谢谢梁大。

点评

互相學習了  发表于 2015-12-5 21:48
发表于 2015-12-5 21:48:10 | 显示全部楼层 来自: 中国山东莱芜
梁大,求助,sw2016 提示出错,如何解决
) O9 c7 H! l7 T" W, m  d& [
捕获.PNG
 楼主| 发表于 2015-12-5 21:52:18 | 显示全部楼层 来自: 中国广东深圳
luanguangtao 发表于 2015-12-5 21:48
! ~/ o! g; Y4 N* Z梁大,求助,sw2016 提示出错,如何解决

1 N" b& ~* H  Q- x1 c7 Z  y你在2016里更改了引用库没有?SW各个版本的工程库文件都不一样的
 楼主| 发表于 2015-12-5 21:54:16 | 显示全部楼层 来自: 中国广东深圳
luanguangtao 发表于 2015-12-5 21:48  c7 M: c1 H+ X* q
梁大,求助,sw2016 提示出错,如何解决
2 N/ k. s0 J; c9 p# i  w
需要编辑宏,在VBA编辑界面下的“工具”菜单里点选“引用”,选你要用的运行库的版本。
发表于 2015-12-5 22:37:38 | 显示全部楼层 来自: 中国山东莱芜
但不知要选哪几项
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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