QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

[求助] 求梁大帮助指点

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

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

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

x
梁大,我现在研究SW批处理宏,想让运行宏时自动批量打开某一个文件夹下的零件和装配体文件,门外汉不知道完成这个功能的这句语句的代码应该怎么写?请求梁大指点下。谢谢。  U0 B, Y( K9 H& S
 楼主| 发表于 2015-12-1 11:46:56 | 显示全部楼层 来自: 中国广东广州
@ryouss  梁大,求指点
发表于 2015-12-1 15:01:36 | 显示全部楼层 来自: 中国浙江嘉兴
NC@jiang@nan 发表于 2015-12-1 11:46
' I4 K- k+ R, C) v% b, x* |@ryouss  梁大,求指点

, }$ O9 _' U; O# ~0 {: Z5 O3 W8 [8 p- g指點不敢,相互研習就是
3 {! o' n$ K" D4 Z, Z4 |8 _. F3 u- e
如下試試, inputbox 之對話表輸入文件路徑  如 C:\TEST\     注意兩個  " \ " 符號
% L, J7 N# [( r/ k% \ 1.jpg % ]4 M: {, i1 t6 E

' }  D9 f; y4 p9 u# R, z# f" Q. o  Q2 N( q. `9 X+ R7 l
OpenFile part_asm.rar (10.23 KB, 下载次数: 39)
 楼主| 发表于 2015-12-1 16:31:22 | 显示全部楼层 来自: 中国广东广州
ryouss 发表于 2015-12-1 15:01
/ J$ b4 c, C6 s* n指點不敢,相互研習就是! B# Z$ Q. W( `  V% [0 e

  n8 m9 E" r# {. _7 U2 a. p如下試試, inputbox 之對話表輸入文件路徑  如  C:\TEST\     注意兩個  " \ " ...
, Z. R4 q8 y4 p/ P1 q
谢谢梁大。! c# p( M( |* S( w! e
我原来这样做的。我以为有可以在同一个语句里同时设定打开零件和装配体的办法,看来还是只能用这种先处理零件然后再处理组件的方式了。8 V9 a8 w; Q; J8 P
谢谢梁大指点。
发表于 2015-12-1 20:41:22 | 显示全部楼层 来自: 中国浙江嘉兴
本帖最后由 ryouss 于 2015-12-2 08:58 编辑
! Q4 C7 b/ s& t1 g
NC@jiang@nan 发表于 2015-12-1 16:31
& C$ m2 }! z, j8 H$ m9 y谢谢梁大。
- O" J! U" w# \' N7 A我原来这样做的。我以为有可以在同一个语句里同时设定打开零件和装配体的办法,看来还是只能 ...

/ ]" u8 \: R5 b: B% m- l2 q2 k指令是死的,編程是活的,7 t) D5 n* r& ?8 @" C* ~- U
所以編程的寫法林林總總形形色色,) w+ A$ h$ M+ D1 u9 q' G
若是小編程尚不需計較寫法,能達結果就好,, V" D$ M: x& e/ F7 e& q2 t
大編程就要考慮許多如執行效率日後維修及易用性擴展性...4 [* Z6 P5 A+ [5 y
2 N3 G' y+ f& @( z( t

1 B7 f; O& Z5 G如下是另個寫法做參考,邏輯來說應該是會比2#效率好(若是開檔不多也是看不出),0 I; u) R7 G8 h6 s1 D% _. i+ B' u
因只是在開檔文件路徑搜找一遍即可,2#是要搜找兩遍.$ @. i- s. p( M: n! `. R" G/ h0 U

3 o& b  {8 |6 {2 j  W 4.png ! Y, g9 }+ V! f6 E/ u9 }- A/ A
3 s2 M; t5 s* }9 Y5 ?) k) z% t
7 ~' A' ^5 j# _6 _5 f1 G1 h
OpenFile Part_Aam_1.rar (9.2 KB, 下载次数: 16)

评分

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

查看全部评分

 楼主| 发表于 2015-12-1 22:11:49 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-1 20:41  z4 X' ^5 X( y# B* D3 A
指令是死的,編程是活的,2 }- e' @" H- {' D$ [+ \! z4 i
所以編程的寫法林林總總形形色色,9 d4 W4 s4 }' T3 ^- z( F( p
若是小編程尚不需計較寫法,能達結果就好,

* k4 g/ c7 D1 [3 Y+ z( n4 c+ h- d是的,我原来想的就是这样,在路径下找一遍,碰到装配体时就打开装配体,碰到零件文件就打开零件文件,整个目录下只搜寻一遍。7 C" W' a. y( |
谢谢梁大指点,下载研究了。
发表于 2015-12-2 09:39:06 | 显示全部楼层 来自: 中国浙江嘉兴
如下是SW API 有關開檔的原文資料作參考
$ B- s* x3 E6 O9 p+ D9 T$ ]% \# C2 z9 b9 e  G, K1 J% M. N3 f
Select All in Part, Assembly, or Drawing (VBA). j9 G! v# C# h1 ~3 T6 `" R
$ Q2 u7 h) n* K! m4 B8 c+ y! ^
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.
' j6 K; L, }/ E7 f! L' ******************************************************************************
7 |+ c$ B# ]6 ^9 A" [8 T' Preconditions:
/ ]9 q% `  i$ w$ r5 K7 J( i' 1. Part, assembly, and drawing documents opened by the macro
+ j/ b+ H% C" C( p4 k) Z# d( l'    exist.
: h5 b  Z9 A- O- ?' 2. Open the Immediate window.7 h! g# L0 ^  v. @( {1 ?
'
  {7 K! z* Z  w3 N0 p# x: f' Postconditions:
7 K# t9 D1 W  x' `' 1. Examine:3 Q5 D+ x$ ?2 G! \+ H
'    * Sheet to verify that all of the entities in the drawing
: k3 m+ @% m8 m1 |8 W6 ['      are selected.
& G1 f& ~) z, T# |# e7 q'    * Immediate window to see how many entities are selected.1 J3 W# `) V& D0 C" y
' 2. Click Window > bolt-assembly.sldasm to switch to the assembly
+ Y: N. y% N( t( L/ }'    document.
+ b/ v9 ~% ?- A; O9 g' 3. Examine:' v9 {& G6 R4 z
'    * Graphics area to verify that the all of the components
$ L2 f9 M% z/ {! S* X'      in the assembly are selected.
: R: r4 |- Q- B6 N& c'    * Immediate window to see how many components are selected., `& \( u4 ^! X+ x5 t
' 4. Click Window > bolt.sldprt to switch to the part document./ u1 a& W3 T! E0 s) P* p
' 5. Examine:
; l4 N0 @3 _' y1 k% i2 W9 W8 q'    * Graphics area to verify that the all of the edges3 X6 H5 x# N( w( O7 }' |9 C
'      in the part are selected.4 S1 j9 V  `9 S4 z9 \. O8 m7 o% B# D
'    * Immediate window to see how many edges are selected.
+ \$ _3 p6 |. }1 G  M'
+ p5 q, I+ A  a4 S, ]+ N1 A' NOTE: Because these documents are used elsewhere, do not save any: ]6 U  J& B9 k. u7 c- z6 t* m: K
' changes when closing them.' _, q  J5 y$ M
' ******************************************************************************' w( l6 Y/ k" `: J: z
Option Explicit
( \- a: k3 ], C, ?! b! w3 pDim swApp As SldWorks.SldWorks( I4 G1 W8 h- Y, J( q- [% z
Dim swModel As SldWorks.ModelDoc2
( ^3 m8 Y( }: k6 n$ G! YDim swModelDocExt As SldWorks.ModelDocExtension2 N) @0 x! @) K0 [. {; y
Dim swSelMgr As SldWorks.SelectionMgr
8 l6 J4 s0 q+ D. _8 K+ wDim partFile As String
8 G) l# {3 x: C% _5 Z; Z  T+ jDim assemblyFile As String
3 T$ Q1 ^; F, j2 T% ]% W4 [Dim drawingFile As String- I+ h+ C) b! M
Dim errors As Long: S0 @3 Q3 c0 J" T. W5 l
Dim warnings As Long+ m' k1 @- S  P! o, a
Dim selCount As Integer
5 P, V  g6 ^. J/ d. p9 L+ aSub main()
5 x7 `3 a+ d! @, b7 ?    Set swApp = Application.SldWorks8 K  z* K" b2 Y6 q7 K
   
$ \+ }; d6 T/ d( a    ' Open a part document and select all edges in the part; Y& k0 g6 ]( h! k1 t# [& R! q0 w
    partFile = "C:\Program Files\SolidWorks Corp\SolidWorks\samples\introsw\bolt.sldprt"
  u! n6 t' R2 T/ }    Set swModel = swApp.OpenDoc6(partFile, swDocPART, swOpenDocOptions_Silent, "", errors, warnings)
1 B3 q% h. M1 B9 R5 V% W; U  @+ m    Set swModelDocExt = swModel.Extension
* X/ V* _  \: M7 h) ~5 r) u    Set swSelMgr = swModel.SelectionManager% l$ m/ Z$ @& r! d0 M
    'Select all edges in part! Q! n) O  t: ~3 f# m$ h+ w1 D
    SelectAllinDocument
/ \/ |( [* X# z$ o1 z   
( s, M7 _; ]. q% B: @' }; V    ' Open an assembly document and select all components in the assembly+ ^4 z* N* Y; {1 d4 |* R
    assemblyFile = "C:\Program Files\SolidWorks Corp\SolidWorks\samples\introsw\bolt-assembly.sldasm"7 v  G& o% V, z1 K( R; Y0 @" A
    Set swModel = swApp.OpenDoc6(assemblyFile, swDocASSEMBLY, swOpenDocOptions_Silent, "", errors, warnings)& A: r1 f# ?1 S1 `' W$ U
    Set swModelDocExt = swModel.Extension9 q8 a! W& s" l; M9 i
    Set swSelMgr = swModel.SelectionManager5 r5 m$ k5 X, o
    'Select all components in assembly$ F* B8 v( l0 b: q
    SelectAllinDocument' y  P3 F4 R% n8 O3 U0 q' n
    8 Z8 i; x. b7 ^6 F8 u8 n
    ' Open a drawing document and select all entities in the drawing
! a8 ]& x! i# J; `+ g% @    drawingFile = "C:\Program Files\SolidWorks Corp\SolidWorks\samples\introsw\bolt-assembly.slddrw"& `; W3 D1 j- N7 [, A
    Set swModel = swApp.OpenDoc6(drawingFile, swDocDRAWING, swOpenDocOptions_Silent, "", errors, warnings)! X) d% t2 `: Q6 k
    Set swModelDocExt = swModel.Extension& J$ j! @0 |. D# H3 `, n
    Set swSelMgr = swModel.SelectionManager: A  Q2 A0 Y3 h: k9 ]- d3 d+ S
    'Select all entities in drawing  y7 m; ]2 M- E5 l9 m" s
    SelectAllinDocument8 e: g( H7 h# o0 a9 s& x0 N
   
$ n/ |$ q) g/ z! |" q% vEnd Sub2 j$ E) N7 T$ p
Sub SelectAllinDocument()  u, n4 V2 p- F' G2 p) C9 R
    ' Select all edges in a part, all components in an assembly,
) H7 V9 {6 ~& O. T0 C1 Y    ' or all entities in a drawing
" J: y0 p- [4 k$ p0 U6 m     swModelDocExt.SelectAll   
3 h( ?7 c8 r7 G    ' Get and print the number of selections
) Z, k+ {% G7 w6 s    selCount = 0
" C+ Y  ]; Z1 {& _) H' @! M    selCount = swSelMgr.GetSelectedObjectCount2(-1)    , l1 ?6 L- C2 M1 k5 r
    Select Case swModel.GetType
, n3 C# e+ J* X1 d3 f, D    Case swDocPART
. |% I4 g0 d" z$ v# [        Debug.Print "Number of edges selected in part          = " & selCount) y! S6 }+ w7 w2 S! I6 C
    Case swDocASSEMBLY
% P# x4 G$ n( v% B        Debug.Print "Number of components selected in assembly = " & selCount2 w3 K( V8 U& K! P
    Case swDocDRAWING
+ `2 s6 f: w0 D, ^* e4 [0 p: U' s" u        Debug.Print "Number of entities selected in drawing    = " & selCount
: T* r& |- n. k$ O% g7 g# Z  r    Case Else
: D, Q' `* |# y. x; _        Debug.Print "Unknown type of document."0 u" u  X1 p# R0 y3 U& @2 t
    End Select; N* o6 g3 r3 U) A4 \2 [& k4 \7 |) e
   
& l2 A6 f. x% a9 AEnd Sub
. b) `/ h& W$ i. O* l/ V  q  y
 楼主| 发表于 2015-12-2 20:41:01 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-2 09:393 c( K5 y  A0 ]: u; U
如下是SW API 有關開檔的原文資料作參考
. h# @. \, E0 V# Z: Z% M. P$ y7 L, n# J) f% J3 \8 i6 S
Select All in Part, Assembly, or Drawing (VBA)
6 X" ], R; l6 B. R# O
API帮助是英文版的,想搜索都不知道用什么关键词,梁大见笑啦。& [* _6 P9 [/ v; C' b* N9 c
另,您昨天发的那个宏文件,因为我水平太差昨天晚上看了想了很久,应用应该还是能够瞎应用上了,但是还是没理解透彻,第一点就是不知道这宏(或者是所有的打开SW文档的宏)的原理是不是先把某个目录下的文件调入内存,然后去分析它的后缀名,后缀名最后三位符合您这宏文件里设定的"prt"或者"asm"时才正式在SW软件里打开文件?第二点就是,您的这个宏代码并没有指定当后缀名后三位是DRW时怎么处理,是不是后缀名后三位是DRW时SW默认不会打开这个文件而是只有在后三位符号宏文件里设定的“prt"或者"asm"时才会打开文件进行处理?' J+ o* m: i# B/ N; J# c
因为家里的电脑配置真的有点烂了,09年时买的电脑,平时用得很少,一直没升级,跑现在的版本的SW太卡,有的内容试过了,有的还没尝试试验,有啥常识性的错误请梁大谅解。明天把您这宏文件拷到公司去试验研究一天,谢谢梁大了。
发表于 2015-12-2 22:43:37 | 显示全部楼层 来自: 中国浙江嘉兴
13993359550 发表于 2015-12-2 22:10! r/ z+ S& g( S/ m+ ~2 Q' L2 y5 `! O
梁大,有个问题一直想请教,不知道,您老愿意讲一下不,就这两个苦思不得其解,谢谢您了
$ V& G' ^4 ?' e# e
怎麼發在這裡呢!太不尊重樓主了[/color]
发表于 2015-12-2 22:50:59 | 显示全部楼层 来自: 中国浙江嘉兴
NC@jiang@nan 发表于 2015-12-2 20:41
3 d3 x; M, B. \. Q) \! c0 v9 jAPI帮助是英文版的,想搜索都不知道用什么关键词,梁大见笑啦。
5 {1 k( L$ S2 v' |( u. Z- J另,您昨天发的那个宏文件,因为我水平 ...

3 l, P+ T" b9 Z Select Case Type_4 w1 m$ w1 o; C9 x, S
'開零件檔$ M  J, `. p3 S; `' `1 R
            Case "PRT"  Z8 w( d) G) R# C4 {) v" o; w
                Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開零件檔) q  [) N$ U; @$ g) [+ e& i
'開組件檔: k+ k  R$ l% |) l0 ^  U
            Case "ASM"
1 M' a* A3 B6 J2 ~5 B. B# }" `                Set swModel = swApp.OpenDoc6(path + sFileName, swDocASSEMBLY, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開組件檔7 G5 M7 i9 e/ f% M
        End Select" V1 m% t" w3 o* Z" S
  S2 N: l+ }' \, O4 V; N. H

0 R+ r8 @+ Q& g' ?& o是如上語句把工程圖篩選掉
发表于 2015-12-2 22:51:03 | 显示全部楼层 来自: 中国浙江嘉兴
本帖最后由 ryouss 于 2015-12-2 23:37 编辑
( b# R: f5 T, W/ z5 Q: E
NC@jiang@nan 发表于 2015-12-2 20:41& Y6 I# T, }% _, l2 ]
API帮助是英文版的,想搜索都不知道用什么关键词,梁大见笑啦。
9 d; Z  e; n1 T, q3 ?, b另,您昨天发的那个宏文件,因为我水平 ...
  1.     Select Case Type_/ p% T% o5 `! G) g! l4 P4 y
  2.     '開零件檔/ B3 u) n1 v) g' a# y: A, H
  3.    Case "PRT"
    / ]0 }6 d& _$ q- m* g1 U  T& i
  4.    Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開零件檔
    0 E- U( V7 s4 l& R( T) B
  5.    '開組件檔
    9 v  @# _( e1 Y- u  R
  6.    Case "ASM"7 q/ l, V4 i' X! X
  7.    Set swModel = swApp.OpenDoc6(path + sFileName, swDocASSEMBLY, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開組件檔
      X) {5 m- K" n- N& B, i  E2 e( ^0 \
  8.    End Select
    , W4 K: z& W; s: S& e; M% ~
复制代码
- Q' }. b$ x! R' U& L. }
* K5 O6 O6 q# a& |  C7 R' k

- _/ y! {- L$ [2 @) g2 i& O9 i1. 是如上語句把工程圖篩選掉當第1項的  Type_ 取得是 工程圖  DRW  就跳出第8項.+ b; Z0 z1 |. S( J
    若是 Type_ 取得是 零件  PRT  就跳到第4項,執行  Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開零件檔    - C% X$ g0 ?5 T: ^6 g$ Z% \
    再跳到第8項,結束選擇循環.
% Z& X3 u$ D& r: @
" l, T0 F! b) ?5 A3 u* dSelect Case Type_/ H, _! Z3 X: w7 k- k& g! v$ H/ g
           .( r$ Q0 r# `, y: T) S/ H
          執行內容3 c' A6 j0 E0 C. k  i
           .
: C0 k: k, [! H, mEnd Select" Z$ k" X% F5 G6 E5 X6 K

5 p/ x$ S5 E3 A5 @* B如上是個選擇循環. d6 W+ Q5 W& x& G+ m! S8 e+ h% ]

5 g$ X. Q& S% A! `/ L
  o. T  ?% ^: l+ n$ G1 B

4 @4 i# _  u' [8 C+ F! p1 `4 z2. 查有關開檔的關鍵語是   OpenDoc66 x7 p8 q5 f- l. i$ P+ `" [, M

$ G4 A: H" Q$ E& j* ]8 n# g
5 D2 D  v& c# s2 ]; j, V- x% v; H! |% @5 u! C* s2 @
 楼主| 发表于 2015-12-3 00:41:07 | 显示全部楼层 来自: 中国广东深圳
本帖最后由 NC@jiang@nan 于 2015-12-3 01:15 编辑
5 m6 T, Y& m5 |4 J# Y- X
ryouss 发表于 2015-12-2 22:50
# B% ^7 e" o! ?; f( L: a( @1 s* ZSelect Case Type_
8 i3 U1 X: S# X# @# {$ f  ^'開零件檔- `! d( J7 ^& T  `& `3 e
            Case "PRT"

! l$ E) E6 v2 H梁大,从回您上个帖后,一直在研究学习您的这个宏文件,到现在终于理解一二了。把提取文件的代号和名称写入配置特定属性栏的宏集成进去了。谢谢梁大指点了。
* K7 X: _) Z  a$ Z7 {8 i; a
2 d/ s' w: M  A" M% n附上集成批量提取文件名中的代号和名称的宏文件,一方面请梁大有空时看看再指点指点哪里可以进一步改进,另一方面给有可能需要的朋友下载研究改进与使用。
; t4 ?9 v; R) u

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

17.07 KB, 下载次数: 28

发表于 2015-12-3 09:27:37 | 显示全部楼层 来自: 中国上海
ryouss 发表于 2015-12-2 22:43% J/ [% Y: B) C& T& o$ A/ c
怎麼發在這裡呢!太不尊重樓主了
# s! l. m) N0 p* x5 j, s
不好意思,打扰了
发表于 2015-12-3 10:51:40 | 显示全部楼层 来自: 中国浙江嘉兴
NC@jiang@nan 发表于 2015-12-3 00:41% {$ D% i3 \" ?& M: w; L
梁大,从回您上个帖后,一直在研究学习您的这个宏文件,到现在终于理解一二了。把提取文件的代号和名称写 ...
* _' O7 ]: _0 {+ W3 _
N大真用心呀,謝謝分享!
- P/ d8 p! J0 @8 D看了,有空時可以再幫做簡化.
6 ~; H0 x( X& O1 V
发表于 2015-12-3 13:59:39 | 显示全部楼层 来自: 中国浙江嘉兴
本帖最后由 ryouss 于 2015-12-4 14:07 编辑 : N; _1 I7 P5 \' V$ j' N2 \/ j

( X: R# {! ], ]. u. G12#的簡化參考" V1 W6 M# d/ d
OpenFile_Configuration.rar (11.62 KB, 下载次数: 18)
 楼主| 发表于 2015-12-3 20:22:05 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-3 13:59% Z# U, M  Z) l. M8 H
12#的簡化參考
& H% d1 m; ~( M6 X; y' v5 {; a+ w4 Q SWP
6 V7 H4 ^$ d$ H: T) N' X
谢谢梁大,7 p4 f& @  ]; Q
这才完全是我想要的宏文件了。因为我觉得开启零件和开启装配体后,要在两段打开文件代码后分别执行一段完全一模一样的宏代码,这就不是那么合理的了,不仅是调试时比较烦琐,而且在下次万一有需要更改时,也容易漏改掉两段相同代码中的某一处。
# N# v% d2 d% B/ [# p6 A7 a$ ~1 o没系统的学过VB VC这些东西,脑子里有构想但不知道怎么用代码编出这个宏来,梁大是彻底的帮我解惑了,谢谢梁大。

点评

客氣了,幫到忙就好!  发表于 2015-12-3 20:40
发表于 2015-12-4 14:05:27 | 显示全部楼层 来自: 中国浙江嘉兴
15#編程如下補加紅色兩句,找到  "工程圖"  不做存檔關檔之處理.
" c  u1 j: U- f. y3 b  h, Z
9 [1 M2 @! z5 n* Z& W; b7 L           Case "ASM"
. Z$ i0 N# z" M; N$ ~                Set swModel =swApp.OpenDoc6(path + sFileName, swDocASSEMBLY, swOpenDocOptions_Silent,"", nErrors, nWarnings)
, w) G( U* d3 Q9 \7 x                Call Configuration_ '呼叫副程式
" K1 l; D. \) t6 V  V       End Select
/ i+ S* w9 m! }; d8 ~3 p       If Type_ <> "DRW" Then* h" i- l6 `2 t+ H3 l
       swModel.Save '存檔
8 [9 N7 U% E( l$ Y6 f8 b       swApp.CloseDoc swModel.GetTitle '關檔
) l& R0 ~4 \3 S0 a! _      End If
( i  {5 j$ p$ H4 w: ?6 t$ g+ _       Set swModel = Nothing
3 ]: b# b6 m; i+ N9 s       sFileName = Dir '同路徑取出下個SW文件檔名
! M9 S: a. F! j) s   Loop1 _9 W, B+ ^0 D2 J9 o$ p
End Sub
 楼主| 发表于 2015-12-4 21:49:11 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-4 14:05
; Q# {8 V1 l+ ~0 a15#編程如下補加紅色兩句,找到  "工程圖"  不做存檔關檔之處理.
& r" V* q7 `# @" m* O1 m& O+ H/ J! j, Z! v) M( f$ \$ y, A1 X
           Case "ASM"
" g# S+ L9 \0 p& h7 o8 I
梁大,可是原来的宏代码应该本身就没有开启工程图文档呀,为什么后面要再加上这一句辨别是非工程图时存档减档的代码呢?
发表于 2015-12-4 23:16:20 | 显示全部楼层 来自: 中国浙江嘉兴
難道你的文件里不存在工程圖嗎?4 W7 O+ S3 T6 r- x* G6 m
若是的話當然執行沒問題,
+ s6 O& d# j" e$ s6 w) T0 X有的話,見15#,就是沒開出工程圖,但跑到第 51項 會存檔造成矛盾而出錯的
& e6 L# z* j- u
 楼主| 发表于 2015-12-5 20:31:02 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-4 23:16. h. T9 F0 [* B2 _) k$ p# L# a
難道你的文件里不存在工程圖嗎?% S; T; A. }/ A
若是的話當然執行沒問題,9 s0 @- f$ T5 w, w7 e
有的話,見15#,就是沒開出工程圖,但跑到第 51項  ...

* ?- M9 N, Y& J) O哦哦。
/ H6 H2 k$ n* r5 w0 q/ y+ p我试验的时候那个文件夹里没放工程图。现在试下。谢谢梁大。

点评

哈! 跟我剛試用時一樣,所以沒發現問題!  发表于 2015-12-5 20:59
 楼主| 发表于 2015-12-5 21:35:18 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-4 23:16
+ F/ Y$ J1 f& G難道你的文件里不存在工程圖嗎?. e1 c3 y0 l" R& t
若是的話當然執行沒問題,
8 g0 \; y* l% a' d5 C; i4 s7 j有的話,見15#,就是沒開出工程圖,但跑到第 51項  ...

' Q8 D; `4 Z8 \7 Z+ j; i梁大,研究学习了一会,果然如您所言。2 Q3 y0 P( \6 v9 |" F
看来做宏这个东西,果然还是需要逻辑推理能力好的人才行,我就只能跟在后面慢慢学习了。
; h5 H0 o+ B3 }1 {6 x1 H$ |3 x% E谢谢梁大。

点评

互相學習了  发表于 2015-12-5 21:48
发表于 2015-12-5 21:48:10 | 显示全部楼层 来自: 中国山东莱芜
梁大,求助,sw2016 提示出错,如何解决' N$ A4 Z; v/ S0 H( e" Q, V4 [5 k
捕获.PNG
 楼主| 发表于 2015-12-5 21:52:18 | 显示全部楼层 来自: 中国广东深圳
luanguangtao 发表于 2015-12-5 21:48" A- j  E  o! N- c9 c! m3 X& {! S
梁大,求助,sw2016 提示出错,如何解决

: i2 C* l8 _* H0 T. ^你在2016里更改了引用库没有?SW各个版本的工程库文件都不一样的
 楼主| 发表于 2015-12-5 21:54:16 | 显示全部楼层 来自: 中国广东深圳
luanguangtao 发表于 2015-12-5 21:48
4 Q) w" C  ~7 E梁大,求助,sw2016 提示出错,如何解决

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

本版积分规则


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

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

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