QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

[求助] 求梁大帮助指点

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

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

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

x
梁大,我现在研究SW批处理宏,想让运行宏时自动批量打开某一个文件夹下的零件和装配体文件,门外汉不知道完成这个功能的这句语句的代码应该怎么写?请求梁大指点下。谢谢。1 Z7 _0 J* z4 M% f1 ?8 p7 j, k
 楼主| 发表于 2015-12-1 11:46:56 | 显示全部楼层 来自: 中国广东广州
@ryouss  梁大,求指点
发表于 2015-12-1 15:01:36 | 显示全部楼层 来自: 中国浙江嘉兴
NC@jiang@nan 发表于 2015-12-1 11:46
( V) G+ W6 _' F9 B  d6 C7 l@ryouss  梁大,求指点
6 L( t) M6 N, y  C6 v( G
指點不敢,相互研習就是
) v; {" D) [7 _# P0 m! U. Q; }  A; z" w) E7 K
如下試試, inputbox 之對話表輸入文件路徑  如 C:\TEST\     注意兩個  " \ " 符號, _. h. C8 B# o) ^- g
1.jpg
0 A) I8 |0 p% v  k& D& R% h$ i% U' _2 e8 ?7 }
; b2 H, N  b3 p  H
OpenFile part_asm.rar (10.23 KB, 下载次数: 39)
 楼主| 发表于 2015-12-1 16:31:22 | 显示全部楼层 来自: 中国广东广州
ryouss 发表于 2015-12-1 15:01
2 y* M7 }+ o$ H9 o- [" F; l! H指點不敢,相互研習就是
; D" P- J( V4 \" t- Y3 O  x4 D9 {  a' C% E, _9 a
如下試試, inputbox 之對話表輸入文件路徑  如  C:\TEST\     注意兩個  " \ " ...

4 Z' f6 Y! U5 K谢谢梁大。
* Q* o, j  V& f3 Z' `; `/ R- `& |我原来这样做的。我以为有可以在同一个语句里同时设定打开零件和装配体的办法,看来还是只能用这种先处理零件然后再处理组件的方式了。# s5 U5 }$ e4 b
谢谢梁大指点。
发表于 2015-12-1 20:41:22 | 显示全部楼层 来自: 中国浙江嘉兴
本帖最后由 ryouss 于 2015-12-2 08:58 编辑 3 {( u  Q6 K) m! ~- @, X' g7 O
NC@jiang@nan 发表于 2015-12-1 16:31; @  M* E+ a+ O/ b" g; v5 G
谢谢梁大。8 N6 o" H8 O/ a7 {* t- {
我原来这样做的。我以为有可以在同一个语句里同时设定打开零件和装配体的办法,看来还是只能 ...
- Z0 |& {1 x1 s1 d5 W
指令是死的,編程是活的,
! P7 b* j  j: A: _7 Z: g& a所以編程的寫法林林總總形形色色,
) O8 f3 |" ]8 @3 z" P, i' l若是小編程尚不需計較寫法,能達結果就好,
. G  f% S0 q7 k  G: k# c大編程就要考慮許多如執行效率日後維修及易用性擴展性...
( \# a4 Y  j1 x7 H' M" p
+ ]5 Q# P* o" K- `  a" |& J6 j4 A% p6 O4 d3 g% E+ ~
如下是另個寫法做參考,邏輯來說應該是會比2#效率好(若是開檔不多也是看不出),/ E6 N( c0 H* C) [: |- {0 k9 q
因只是在開檔文件路徑搜找一遍即可,2#是要搜找兩遍.
9 t( _* a2 w- X! ]5 y! h2 k* b0 u0 @8 ?3 |
4.png & t: {& z& w; F: \- \6 z$ Y
$ s2 y' {2 E. h0 {
7 P! B) I% ~# y3 E9 R
OpenFile Part_Aam_1.rar (9.2 KB, 下载次数: 16)

评分

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

查看全部评分

 楼主| 发表于 2015-12-1 22:11:49 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-1 20:41; i" l- k. [& m$ W2 Z" d' V. L
指令是死的,編程是活的,1 Y9 F/ L$ X8 ^, W9 S
所以編程的寫法林林總總形形色色,
) Q# F9 f  O% i) s7 k  ^8 S若是小編程尚不需計較寫法,能達結果就好,
, X) h$ g4 ^" B  k8 C# ^
是的,我原来想的就是这样,在路径下找一遍,碰到装配体时就打开装配体,碰到零件文件就打开零件文件,整个目录下只搜寻一遍。( H  h# Q1 _, C0 r8 b
谢谢梁大指点,下载研究了。
发表于 2015-12-2 09:39:06 | 显示全部楼层 来自: 中国浙江嘉兴
如下是SW API 有關開檔的原文資料作參考4 T! |! }  _0 Q- @$ t: c) B- R

" v* x" M% ~/ Q- U' X9 l; D$ _Select All in Part, Assembly, or Drawing (VBA)/ T. K: z; B  `0 ^5 e8 k

8 G# A; D8 P7 \2 rThis 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.; r: q$ \% \* t, W: y; F
' ******************************************************************************& I6 k' k. ^, m9 G, Q: I0 J
' Preconditions:
$ D% S& A0 d/ I& U- F. w; y8 N! g' 1. Part, assembly, and drawing documents opened by the macro1 d5 x7 x. H! P0 {2 ~
'    exist.+ A  j' L! {; Y1 |
' 2. Open the Immediate window.
/ x$ B6 p* {0 k  j' v; E'
  A1 k; g3 e/ s4 ?1 x6 c- Y( L' Postconditions:/ P) U; d' V, V" W+ q2 v
' 1. Examine:( q4 F- }0 ]+ Q, {. h& Q# s% a
'    * Sheet to verify that all of the entities in the drawing0 P7 o- s4 F+ w+ Q
'      are selected.; D4 g: e/ L9 m+ j8 t4 m, W) r
'    * Immediate window to see how many entities are selected.
  i( R1 ?% ]+ K* G% e3 `1 D' 2. Click Window > bolt-assembly.sldasm to switch to the assembly9 v7 N1 D/ a$ t4 ?: ^
'    document.
( {/ x, ~4 O/ v/ y6 t' 3. Examine:5 u/ s8 G! T) e
'    * Graphics area to verify that the all of the components& m% p. M) p/ V2 ~1 Q5 Y( a
'      in the assembly are selected.
. W# q" h  U5 A7 U% r  c'    * Immediate window to see how many components are selected.1 D. p' K& L# b
' 4. Click Window > bolt.sldprt to switch to the part document.$ Y5 D/ J  X6 {: h, Z% q( P5 d. O
' 5. Examine:; o2 D% c! c; J4 J8 N. K
'    * Graphics area to verify that the all of the edges
' \) l$ s" E$ s: }$ p$ v+ k'      in the part are selected.
6 C/ Y. T# z5 y! x'    * Immediate window to see how many edges are selected.
. A+ ~6 h2 }% L' o, `'
2 p: w) O1 r2 h$ O' NOTE: Because these documents are used elsewhere, do not save any
1 S0 K$ a2 H! S0 [1 s9 k0 O' changes when closing them.3 t" I% [' E0 m8 x
' ******************************************************************************
& M( X4 a+ B1 o& u+ b6 eOption Explicit0 A& v: Z3 `, [: M8 q& d# y
Dim swApp As SldWorks.SldWorks( y; k: [- E' A$ ~* L3 V
Dim swModel As SldWorks.ModelDoc2
! s/ h; W5 b# S- ?Dim swModelDocExt As SldWorks.ModelDocExtension
) H3 \" O- U- V. y4 N5 u- l/ u% \Dim swSelMgr As SldWorks.SelectionMgr; g" a4 ^' @( v, I- |
Dim partFile As String
# M4 O" w+ c6 W, QDim assemblyFile As String
- j& C- u* Y0 M; I8 B4 S  hDim drawingFile As String( x9 A. z% H+ K- m/ Y* G' C
Dim errors As Long
' |3 B9 L) N% n* {! K; U+ sDim warnings As Long
+ P( v2 g, b4 E/ ~1 s" NDim selCount As Integer$ K. g  y0 y8 F
Sub main()
5 x: E! k6 k, I6 Q* A: s    Set swApp = Application.SldWorks/ ~# J+ h3 T/ ~4 t3 g* j/ n6 ]
    8 A4 i1 J' r& `% ]% Q2 ]: J$ E& O! ?! l
    ' Open a part document and select all edges in the part9 s( _3 K: o9 z
    partFile = "C:\Program Files\SolidWorks Corp\SolidWorks\samples\introsw\bolt.sldprt"
; i1 B$ D/ S' ]; e" r    Set swModel = swApp.OpenDoc6(partFile, swDocPART, swOpenDocOptions_Silent, "", errors, warnings)
" y- D7 J' j# y, b6 Q( p    Set swModelDocExt = swModel.Extension. m' g/ ^2 \# C& d2 j4 q+ g
    Set swSelMgr = swModel.SelectionManager
! \9 {8 s% l3 ^  E5 N    'Select all edges in part
2 E' E0 a0 k* x6 ^; g! {    SelectAllinDocument& q+ ~! o4 ?. a4 Z9 b7 [
   
& m, l6 ]- `+ {( D6 D7 {" @8 L  D    ' Open an assembly document and select all components in the assembly" I0 c$ h; O/ N7 [$ _3 A& o
    assemblyFile = "C:\Program Files\SolidWorks Corp\SolidWorks\samples\introsw\bolt-assembly.sldasm"
+ V7 ^. A5 c" G6 w' Q  y, J& Y    Set swModel = swApp.OpenDoc6(assemblyFile, swDocASSEMBLY, swOpenDocOptions_Silent, "", errors, warnings)" j2 q% @. ?& q% }4 p  r9 H
    Set swModelDocExt = swModel.Extension8 A/ B9 }6 q8 S- f+ ^: @. `- I, e' s
    Set swSelMgr = swModel.SelectionManager
2 D, H( ]: c! Y7 z3 {    'Select all components in assembly
& ^4 o3 x! ~; a    SelectAllinDocument0 n' J1 s' _3 n: W
   
4 n3 `: o/ }0 y7 C) M" a    ' Open a drawing document and select all entities in the drawing
6 q7 z2 i+ t6 u" K' j7 ]* h% d    drawingFile = "C:\Program Files\SolidWorks Corp\SolidWorks\samples\introsw\bolt-assembly.slddrw"- o, A2 B8 E- Q( a: g% U5 _
    Set swModel = swApp.OpenDoc6(drawingFile, swDocDRAWING, swOpenDocOptions_Silent, "", errors, warnings)
, a" @- J7 z4 R- H6 a6 c    Set swModelDocExt = swModel.Extension
% X+ t6 N( X, W, B0 m; A+ ~    Set swSelMgr = swModel.SelectionManager
# r9 B& S( O! l! T* v6 j5 p    'Select all entities in drawing* I5 @6 {) I( @% o# V* k  V
    SelectAllinDocument6 L/ n8 |) V! Z1 Y
   
" B" a$ I/ c; I% ?' Z* B3 ZEnd Sub
3 ]1 [8 V: E* P8 TSub SelectAllinDocument()% O* i$ C2 Y/ Y1 L
    ' Select all edges in a part, all components in an assembly,8 D5 P9 N- u( M* Y, b
    ' or all entities in a drawing
, L+ u: L9 V# j; N/ h2 d' A) X     swModelDocExt.SelectAll   
7 |' j! t7 O+ k! x    ' Get and print the number of selections! V5 Y2 P* z5 L! K, _
    selCount = 0% ^$ R! S' {+ r9 c6 t0 T5 ~
    selCount = swSelMgr.GetSelectedObjectCount2(-1)    3 N% x$ x8 `" I' J  |" W$ u5 @
    Select Case swModel.GetType
6 ?( ^, ]# |" I9 V2 ]2 I    Case swDocPART# V% r  V1 h5 S0 N$ R( r
        Debug.Print "Number of edges selected in part          = " & selCount! Q% {$ y+ i. L( R5 e- o$ ~- l/ T& l* A. U
    Case swDocASSEMBLY
( w8 H2 @" k$ d$ e        Debug.Print "Number of components selected in assembly = " & selCount6 d- a6 D0 T/ a) s
    Case swDocDRAWING
% p6 e  o/ L& X. M, `        Debug.Print "Number of entities selected in drawing    = " & selCount% b5 I; g. I4 _3 b7 m
    Case Else
% l' a2 R; V* l" ~; k8 Z* J        Debug.Print "Unknown type of document."& e2 U7 Y! t0 q) J) Q
    End Select
# c, ]# ]( W5 ?2 Z0 m/ I4 I   
& v! E8 L7 C6 U8 T7 D* @: MEnd Sub
6 [7 L' z' y5 C0 [
 楼主| 发表于 2015-12-2 20:41:01 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-2 09:39
1 w3 {: h3 z: v6 I如下是SW API 有關開檔的原文資料作參考
5 W, z) e2 h( G+ N3 x1 i
; i' }8 }8 B# m& ISelect All in Part, Assembly, or Drawing (VBA)

- u7 k! t. v) ?API帮助是英文版的,想搜索都不知道用什么关键词,梁大见笑啦。
% Z" p( g/ T# \另,您昨天发的那个宏文件,因为我水平太差昨天晚上看了想了很久,应用应该还是能够瞎应用上了,但是还是没理解透彻,第一点就是不知道这宏(或者是所有的打开SW文档的宏)的原理是不是先把某个目录下的文件调入内存,然后去分析它的后缀名,后缀名最后三位符合您这宏文件里设定的"prt"或者"asm"时才正式在SW软件里打开文件?第二点就是,您的这个宏代码并没有指定当后缀名后三位是DRW时怎么处理,是不是后缀名后三位是DRW时SW默认不会打开这个文件而是只有在后三位符号宏文件里设定的“prt"或者"asm"时才会打开文件进行处理?9 B- w0 M8 m! h* P5 Q! ]. \7 i
因为家里的电脑配置真的有点烂了,09年时买的电脑,平时用得很少,一直没升级,跑现在的版本的SW太卡,有的内容试过了,有的还没尝试试验,有啥常识性的错误请梁大谅解。明天把您这宏文件拷到公司去试验研究一天,谢谢梁大了。
发表于 2015-12-2 22:43:37 | 显示全部楼层 来自: 中国浙江嘉兴
13993359550 发表于 2015-12-2 22:10
1 ^* e2 N5 J2 v, i' h+ ^4 B' V梁大,有个问题一直想请教,不知道,您老愿意讲一下不,就这两个苦思不得其解,谢谢您了

7 y6 t2 @9 D/ e- ~4 i$ O怎麼發在這裡呢!太不尊重樓主了[/color]
发表于 2015-12-2 22:50:59 | 显示全部楼层 来自: 中国浙江嘉兴
NC@jiang@nan 发表于 2015-12-2 20:41( z: U* a5 t2 n+ s8 H
API帮助是英文版的,想搜索都不知道用什么关键词,梁大见笑啦。# W* Z/ ~; J8 h: \" p6 o( \
另,您昨天发的那个宏文件,因为我水平 ...
4 b& E; K9 `# Y) j' ]! Y
Select Case Type_+ Y8 m' j' \" ^3 m8 g
'開零件檔
8 g& X9 {5 u( I+ S8 G7 Y            Case "PRT"% j' a1 N2 F; x/ m! M, D: B1 t; s6 Y
                Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開零件檔* `4 l2 r+ J7 C1 f* @& l7 R- i
'開組件檔; @3 x4 V  |) F
            Case "ASM"
9 z1 o% G5 \. R) A                Set swModel = swApp.OpenDoc6(path + sFileName, swDocASSEMBLY, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開組件檔9 g/ I4 L* Z2 |- r
        End Select. k# x6 O1 p) r+ L

2 N$ j1 v7 A! J5 `% @$ @7 B/ S" |3 ^+ M
是如上語句把工程圖篩選掉
发表于 2015-12-2 22:51:03 | 显示全部楼层 来自: 中国浙江嘉兴
本帖最后由 ryouss 于 2015-12-2 23:37 编辑 - I* k2 R5 Y+ P2 [( C* w
NC@jiang@nan 发表于 2015-12-2 20:41+ T- q; J7 J3 J; V8 B  }/ d& F
API帮助是英文版的,想搜索都不知道用什么关键词,梁大见笑啦。& C5 B. \0 A, t  R2 n5 s
另,您昨天发的那个宏文件,因为我水平 ...
  1.     Select Case Type_# w6 p6 a! v3 z6 A
  2.     '開零件檔* F0 E& \: W3 _" o; M; X( g9 `
  3.    Case "PRT"+ d& t  ~' ^- X) {  B' b
  4.    Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開零件檔6 W/ G$ w# a9 M
  5.    '開組件檔
    4 a' `9 C& c% I0 K6 S. ^
  6.    Case "ASM"
    % R3 d1 _2 n7 B# F5 p/ i+ U6 k
  7.    Set swModel = swApp.OpenDoc6(path + sFileName, swDocASSEMBLY, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開組件檔( O3 x7 r  D. L2 D! U, k) a& I
  8.    End Select
    9 ?% c9 a! e& ~( n/ S  e7 ?- R$ _
复制代码

$ q4 `6 c4 l  I$ I5 A  y) n2 l( q- J  b# G4 G

/ J+ _+ L' G& \5 z' {1. 是如上語句把工程圖篩選掉當第1項的  Type_ 取得是 工程圖  DRW  就跳出第8項.) L3 H0 T2 z0 t8 \/ F% S
    若是 Type_ 取得是 零件  PRT  就跳到第4項,執行  Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開零件檔   
+ ^9 x3 f! n3 C/ t    再跳到第8項,結束選擇循環.
; L4 c9 Q# ?9 L7 `4 R6 P- |4 T* _, a1 R7 A- c; z  q  A
Select Case Type_
- _& v9 U4 x* Z: V           .2 m2 C" S6 E* b
          執行內容$ m/ B8 f2 X$ ~7 K5 H/ U) E2 [" |
           .2 n& ~) c* ]& F2 r& T: ^+ Y# _
End Select
6 h9 w! y4 x  A! ?( D
6 G+ e9 S- M* Y: x2 b7 N- b
如上是個選擇循環% ?0 b1 c8 R) g

" J& B; b0 G. L2 o7 f

2 F: l3 ~& w; i- N5 X2 T4 `# }8 v( ^" ^5 m0 v
2. 查有關開檔的關鍵語是   OpenDoc68 `2 f$ u% X$ m3 T

9 S0 t4 q9 ]0 x& w) H/ @1 ?1 w( s$ F2 g+ S/ y
- C7 ^' C6 |6 G4 |8 y# |
 楼主| 发表于 2015-12-3 00:41:07 | 显示全部楼层 来自: 中国广东深圳
本帖最后由 NC@jiang@nan 于 2015-12-3 01:15 编辑 8 n1 a/ i/ s0 n! r
ryouss 发表于 2015-12-2 22:50
' e+ W* ~( E9 e9 F* ]Select Case Type_
+ o. {7 C5 z' p4 `'開零件檔% K# l% [7 Y/ i
            Case "PRT"

  q! y2 f# c0 \7 O% m) |2 C梁大,从回您上个帖后,一直在研究学习您的这个宏文件,到现在终于理解一二了。把提取文件的代号和名称写入配置特定属性栏的宏集成进去了。谢谢梁大指点了。
- X, J' K/ b9 `) H/ B8 V; H: U, L9 G% u1 y2 J
附上集成批量提取文件名中的代号和名称的宏文件,一方面请梁大有空时看看再指点指点哪里可以进一步改进,另一方面给有可能需要的朋友下载研究改进与使用。& r( G) M( `5 f  _3 [

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

17.07 KB, 下载次数: 28

发表于 2015-12-3 09:27:37 | 显示全部楼层 来自: 中国上海
ryouss 发表于 2015-12-2 22:439 K- V: t& C7 Z8 A$ y$ J
怎麼發在這裡呢!太不尊重樓主了

: }$ {+ ?9 K3 h: d4 W$ Q不好意思,打扰了
发表于 2015-12-3 10:51:40 | 显示全部楼层 来自: 中国浙江嘉兴
NC@jiang@nan 发表于 2015-12-3 00:41
5 Y# V. {, A9 J1 c梁大,从回您上个帖后,一直在研究学习您的这个宏文件,到现在终于理解一二了。把提取文件的代号和名称写 ...

% q5 R( w( C) S0 N6 UN大真用心呀,謝謝分享!
& t8 _! j* j8 ]$ a( i看了,有空時可以再幫做簡化., M3 ~" t# b% J  G( T! o' _! I
发表于 2015-12-3 13:59:39 | 显示全部楼层 来自: 中国浙江嘉兴
本帖最后由 ryouss 于 2015-12-4 14:07 编辑
* F- _1 u0 J+ O! C% q& f; H1 Q/ W/ l- h9 U1 H! ^% a, Z/ C
12#的簡化參考$ f" s% s' Y" i6 g6 i
OpenFile_Configuration.rar (11.62 KB, 下载次数: 18)
 楼主| 发表于 2015-12-3 20:22:05 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-3 13:59
9 T. n6 S% d' ^7 _5 _. P12#的簡化參考
2 v6 x5 V+ R& z SWP
' w: x" C1 Y: Y& E9 r
谢谢梁大,; e. H  S1 n. e% f$ l1 U
这才完全是我想要的宏文件了。因为我觉得开启零件和开启装配体后,要在两段打开文件代码后分别执行一段完全一模一样的宏代码,这就不是那么合理的了,不仅是调试时比较烦琐,而且在下次万一有需要更改时,也容易漏改掉两段相同代码中的某一处。
( z) r% A" E; U# M没系统的学过VB VC这些东西,脑子里有构想但不知道怎么用代码编出这个宏来,梁大是彻底的帮我解惑了,谢谢梁大。

点评

客氣了,幫到忙就好!  发表于 2015-12-3 20:40
发表于 2015-12-4 14:05:27 | 显示全部楼层 来自: 中国浙江嘉兴
15#編程如下補加紅色兩句,找到  "工程圖"  不做存檔關檔之處理., ~# l( P$ E0 J; O- a" Z  H: q4 u
& u* ~6 k; e5 C' |
           Case "ASM"
2 o; R% e& {# D6 P! |+ }1 V( N                Set swModel =swApp.OpenDoc6(path + sFileName, swDocASSEMBLY, swOpenDocOptions_Silent,"", nErrors, nWarnings)
! g+ b# Z! O  h1 j+ P- G1 b( _                Call Configuration_ '呼叫副程式
- u# h  y/ s; j/ O2 s: x$ n       End Select* d/ y3 X" n9 ?' C
       If Type_ <> "DRW" Then* v. r# W# q% }7 z- e
       swModel.Save '存檔
9 p7 X4 ^9 H: q; v: @       swApp.CloseDoc swModel.GetTitle '關檔
& j/ Y+ I( u$ q9 l/ {6 Z: ^) ]      End If
" r* Y5 d/ A; k  x0 i$ P0 w' [! B       Set swModel = Nothing
/ D) Z1 C9 p( @+ o0 d       sFileName = Dir '同路徑取出下個SW文件檔名
6 L  S, o2 \; H) ^8 @   Loop
+ ^) [. L9 y# ~8 `2 ?End Sub
 楼主| 发表于 2015-12-4 21:49:11 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-4 14:05( h2 Q+ I$ |0 C5 S+ ^: E6 _/ o0 _  Q  G
15#編程如下補加紅色兩句,找到  "工程圖"  不做存檔關檔之處理.# @5 ]6 Z( }7 k7 Y9 Y' ?2 e' j
3 u6 m7 z( Q, S$ l) W$ T
           Case "ASM"

+ C: G' J% ?. {7 h4 @! A梁大,可是原来的宏代码应该本身就没有开启工程图文档呀,为什么后面要再加上这一句辨别是非工程图时存档减档的代码呢?
发表于 2015-12-4 23:16:20 | 显示全部楼层 来自: 中国浙江嘉兴
難道你的文件里不存在工程圖嗎?3 G: h0 M, ~4 |3 |1 r5 M3 w- T# L, z; o
若是的話當然執行沒問題,
7 v! }; l" \) R- x* q+ q. k有的話,見15#,就是沒開出工程圖,但跑到第 51項 會存檔造成矛盾而出錯的
( ^5 w" R, U" y' f# J1 A6 T, \
 楼主| 发表于 2015-12-5 20:31:02 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-4 23:16
0 H) q) q5 L1 Q1 d難道你的文件里不存在工程圖嗎?2 x( K+ e$ H% C" x6 n
若是的話當然執行沒問題,$ k" Z1 h* \3 V4 m, G
有的話,見15#,就是沒開出工程圖,但跑到第 51項  ...

, d0 L6 d2 {) |) d! N哦哦。) x  g5 \9 R2 k
我试验的时候那个文件夹里没放工程图。现在试下。谢谢梁大。

点评

哈! 跟我剛試用時一樣,所以沒發現問題!  发表于 2015-12-5 20:59
 楼主| 发表于 2015-12-5 21:35:18 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-4 23:161 ]; a( P- {8 [3 y6 p
難道你的文件里不存在工程圖嗎?
9 B- B# ?' C3 h若是的話當然執行沒問題,5 F" O; _$ w7 Q8 y+ q% P4 Q6 D
有的話,見15#,就是沒開出工程圖,但跑到第 51項  ...
1 Y; n  u6 o! j* z6 J( q
梁大,研究学习了一会,果然如您所言。
  l8 V+ ]! t3 r5 r% z: Q8 r0 |看来做宏这个东西,果然还是需要逻辑推理能力好的人才行,我就只能跟在后面慢慢学习了。8 N$ S$ m& V. v/ K5 O1 p) l
谢谢梁大。

点评

互相學習了  发表于 2015-12-5 21:48
发表于 2015-12-5 21:48:10 | 显示全部楼层 来自: 中国山东莱芜
梁大,求助,sw2016 提示出错,如何解决
2 E4 L& J% h% P: X; s$ ~# C
捕获.PNG
 楼主| 发表于 2015-12-5 21:52:18 | 显示全部楼层 来自: 中国广东深圳
luanguangtao 发表于 2015-12-5 21:48
, e, _0 b  u# T1 r- X8 ]& ?梁大,求助,sw2016 提示出错,如何解决

: K5 Z' Q7 K" s* E' k' T你在2016里更改了引用库没有?SW各个版本的工程库文件都不一样的
 楼主| 发表于 2015-12-5 21:54:16 | 显示全部楼层 来自: 中国广东深圳
luanguangtao 发表于 2015-12-5 21:48
! E2 v* D2 o' a1 {# ?梁大,求助,sw2016 提示出错,如何解决
/ ?6 ~$ L; ~( G2 j( b. c2 }/ 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 )

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