QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

[求助] 求梁大帮助指点

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

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

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

x
梁大,我现在研究SW批处理宏,想让运行宏时自动批量打开某一个文件夹下的零件和装配体文件,门外汉不知道完成这个功能的这句语句的代码应该怎么写?请求梁大指点下。谢谢。, x, I$ u$ c3 \, Q6 q2 q8 v+ p
 楼主| 发表于 2015-12-1 11:46:56 | 显示全部楼层 来自: 中国广东广州
@ryouss  梁大,求指点
发表于 2015-12-1 15:01:36 | 显示全部楼层 来自: 中国浙江嘉兴
NC@jiang@nan 发表于 2015-12-1 11:46
1 u& ]. ]* Z& Q" x2 o2 t@ryouss  梁大,求指点
# j6 Z1 e7 _8 H2 a
指點不敢,相互研習就是6 C; {& v4 I, I- ^
' w6 W- D) b5 k' z  A4 \
如下試試, inputbox 之對話表輸入文件路徑  如 C:\TEST\     注意兩個  " \ " 符號# t: ]) v) ^/ n- ?4 O0 O
1.jpg
9 K4 D8 g' V% c9 f, N9 W5 B0 N* U
$ y- l; Y& E1 u" T- u! n5 L
+ Q- d7 Y, N8 J  f OpenFile part_asm.rar (10.23 KB, 下载次数: 39)
 楼主| 发表于 2015-12-1 16:31:22 | 显示全部楼层 来自: 中国广东广州
ryouss 发表于 2015-12-1 15:01
. P& f. N3 p6 E5 g5 a! U" g& `- n指點不敢,相互研習就是
4 {7 N" D9 d8 Y( S$ V0 d6 w, y: {( _9 H4 p5 b, b4 g; A
如下試試, inputbox 之對話表輸入文件路徑  如  C:\TEST\     注意兩個  " \ " ...

3 X6 X6 m5 e! M- p/ S+ j" P谢谢梁大。2 M' y& z& a6 f4 ^  m# I
我原来这样做的。我以为有可以在同一个语句里同时设定打开零件和装配体的办法,看来还是只能用这种先处理零件然后再处理组件的方式了。
1 L0 [! v! a" {谢谢梁大指点。
发表于 2015-12-1 20:41:22 | 显示全部楼层 来自: 中国浙江嘉兴
本帖最后由 ryouss 于 2015-12-2 08:58 编辑 4 J% c/ [$ I' b; d
NC@jiang@nan 发表于 2015-12-1 16:31- O/ H$ n+ I% D
谢谢梁大。
' v+ L; b0 n6 [( {* e. D我原来这样做的。我以为有可以在同一个语句里同时设定打开零件和装配体的办法,看来还是只能 ...
* A. e' R# `5 l5 G1 I8 d7 N, Z
指令是死的,編程是活的,4 W% p$ t0 W3 \! r, \
所以編程的寫法林林總總形形色色,
( j7 A& m4 G1 j$ O) o" n& F- y若是小編程尚不需計較寫法,能達結果就好,
- t1 p6 o9 o- z- ]' Q) w大編程就要考慮許多如執行效率日後維修及易用性擴展性...4 [& W. f( B0 x: K6 A. P

0 w# M' s: i2 b9 ?, h! S# A3 D# k! N" }& b- W# k# e7 l$ ?
如下是另個寫法做參考,邏輯來說應該是會比2#效率好(若是開檔不多也是看不出),# D  B1 w; I- {% b# I6 L
因只是在開檔文件路徑搜找一遍即可,2#是要搜找兩遍.
; e4 R! l/ w- d0 ]+ U, n% r  e0 l
, f. J( \' e2 S- B% d 4.png : T& ~) p0 V6 p0 k

: d5 m* t0 f9 g" t, p( w% R' d" ^! P; q! ?
OpenFile Part_Aam_1.rar (9.2 KB, 下载次数: 16)

评分

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

查看全部评分

 楼主| 发表于 2015-12-1 22:11:49 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-1 20:41; V" f  V' ]. D4 [* E  J
指令是死的,編程是活的,
7 e/ f- w9 k9 i# W( p$ u& H- s5 p所以編程的寫法林林總總形形色色,
  e8 V- ^7 X3 B6 j9 x若是小編程尚不需計較寫法,能達結果就好,

) T1 ~0 P1 j9 y  ~  ~是的,我原来想的就是这样,在路径下找一遍,碰到装配体时就打开装配体,碰到零件文件就打开零件文件,整个目录下只搜寻一遍。5 |7 }- a, d  Q) ~! b, ~
谢谢梁大指点,下载研究了。
发表于 2015-12-2 09:39:06 | 显示全部楼层 来自: 中国浙江嘉兴
如下是SW API 有關開檔的原文資料作參考1 `' B$ f: F7 a
% _9 |! @1 l. X
Select All in Part, Assembly, or Drawing (VBA)  y" E" w$ K- [, w, L
/ t+ x2 I1 m( L2 `
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.
) F+ M5 f! c  a- p6 }' ******************************************************************************
/ D/ \0 V8 [7 k1 g  W' Preconditions:1 B; @! O7 A- w, Y) ?- {: H0 K
' 1. Part, assembly, and drawing documents opened by the macro
+ R! Z: \; L# x$ a: Z'    exist.$ K4 C. y3 E  B
' 2. Open the Immediate window.
, ?3 m& n# E; a1 b7 G', K' o- @$ a2 @0 [4 B
' Postconditions:
8 C! L3 R" K3 \( r2 ~1 b- N' 1. Examine:  q* A" h; e, U1 h
'    * Sheet to verify that all of the entities in the drawing4 T( [$ m) p0 y( V0 }$ w
'      are selected.
) V) n; `0 r3 J'    * Immediate window to see how many entities are selected.& @4 I& a& `3 ^& K9 W
' 2. Click Window > bolt-assembly.sldasm to switch to the assembly- J( z, }9 W" b, E+ o6 H3 V
'    document.
5 j. P: P8 b' i( D# q' 3. Examine:$ C9 F5 X6 f/ S8 ^" G
'    * Graphics area to verify that the all of the components4 a% p4 n- u, ~- l' ~/ c" @; u1 r
'      in the assembly are selected.
1 t/ t! K  q* T, S5 T) M'    * Immediate window to see how many components are selected.
' |. ?) d% f# R( q9 l$ g' 4. Click Window > bolt.sldprt to switch to the part document.1 j- q/ W# A) E  g/ G1 K
' 5. Examine:
1 P" O; u- @/ c, e2 u: ^) W5 k'    * Graphics area to verify that the all of the edges5 T6 T, S4 t9 _) n/ A8 S; g1 \
'      in the part are selected.
1 n& P! {# r. n, Z0 I'    * Immediate window to see how many edges are selected.
  x- W% C: w) S2 A'- X% T8 f/ c: |
' NOTE: Because these documents are used elsewhere, do not save any
" }: N, u. |9 v, E8 R9 [9 l' changes when closing them.. p3 \! |6 r1 d  t, m8 n
' ******************************************************************************
2 p, q& j# }$ t( D2 D! l9 ?0 P/ bOption Explicit
1 V# r: J+ s4 H- k* \# VDim swApp As SldWorks.SldWorks
: ]/ |" X2 W8 W2 g" Y' i1 d* n' ~Dim swModel As SldWorks.ModelDoc2) Z; b- V0 V2 g: @/ G
Dim swModelDocExt As SldWorks.ModelDocExtension% x7 w2 h" a; x
Dim swSelMgr As SldWorks.SelectionMgr
, ~0 e5 t* e- \8 X) \Dim partFile As String
  [* a$ U- ~9 U+ k) L; _Dim assemblyFile As String* R& q& e) \& C5 P  r
Dim drawingFile As String
) \" ]% m8 E1 x# [) s0 d/ PDim errors As Long
( `, R3 ?% x- ?$ UDim warnings As Long
6 W2 G( I) `* tDim selCount As Integer# i8 G1 c; v# B5 L' e4 m: V
Sub main()
( Y% r3 o9 d% h  N$ z, |    Set swApp = Application.SldWorks+ [: y1 H4 K9 c
    9 K: R# R- c7 ^
    ' Open a part document and select all edges in the part
6 o$ Y2 w9 D; Q* F4 N1 b    partFile = "C:\Program Files\SolidWorks Corp\SolidWorks\samples\introsw\bolt.sldprt"
" z# B. ?- c$ k9 K6 q+ k( \! q: ?    Set swModel = swApp.OpenDoc6(partFile, swDocPART, swOpenDocOptions_Silent, "", errors, warnings)) R8 E' R7 B" M
    Set swModelDocExt = swModel.Extension! W% G- t/ C0 K1 H& @% d# M
    Set swSelMgr = swModel.SelectionManager
' K" B+ ?( h+ K1 I6 i4 N1 k    'Select all edges in part
. E/ K& |0 f- d) H. {' b% g    SelectAllinDocument
, O: s# f* X$ u; V4 B( @& h7 o3 p   
; q( Q, ], Y9 y* Q    ' Open an assembly document and select all components in the assembly
) t: b8 U1 a" V: X& @3 _8 e0 Y- x    assemblyFile = "C:\Program Files\SolidWorks Corp\SolidWorks\samples\introsw\bolt-assembly.sldasm", E! W- Z0 \% V% d" S4 u1 A  M
    Set swModel = swApp.OpenDoc6(assemblyFile, swDocASSEMBLY, swOpenDocOptions_Silent, "", errors, warnings)  o9 C& l$ o5 D# Z- J/ V
    Set swModelDocExt = swModel.Extension- L% J. i- h% F5 d4 W
    Set swSelMgr = swModel.SelectionManager
! q( s/ a6 n( o$ _  R/ u    'Select all components in assembly- q. \0 ~6 Y" a: @4 F4 ~- z8 J* F
    SelectAllinDocument0 h" C2 _4 N: k5 O- [7 T1 e# ~
    - n2 Z- U* t: O( S2 u# b
    ' Open a drawing document and select all entities in the drawing/ w; f4 X. G4 ?5 {. N: @- D* h" f4 ~
    drawingFile = "C:\Program Files\SolidWorks Corp\SolidWorks\samples\introsw\bolt-assembly.slddrw"2 |* a! q7 }+ @
    Set swModel = swApp.OpenDoc6(drawingFile, swDocDRAWING, swOpenDocOptions_Silent, "", errors, warnings), n% W  A+ ]1 H4 P
    Set swModelDocExt = swModel.Extension
% E+ N% U6 L2 z' j4 G* k4 C) b    Set swSelMgr = swModel.SelectionManager
9 v5 w. x* p/ y    'Select all entities in drawing
; o& w, ?1 u; i8 ?    SelectAllinDocument
$ M0 T2 J4 A* u( ?7 Z. v   
; }+ U1 D( Y) A: r# @; p- WEnd Sub" h1 I2 W9 ]" z" m
Sub SelectAllinDocument()6 A6 Q/ h$ l( f+ j  i
    ' Select all edges in a part, all components in an assembly,/ m# I3 d( [7 f
    ' or all entities in a drawing
3 ^3 i' n. P: R2 s+ U     swModelDocExt.SelectAll   
0 d: H$ _( N2 k% U% a; }2 }  x    ' Get and print the number of selections
0 o% h" J5 L7 S4 e    selCount = 0
* H( q8 t- F. Z1 x5 O1 V( z" ~    selCount = swSelMgr.GetSelectedObjectCount2(-1)    1 I0 k7 s4 C, m6 y4 o
    Select Case swModel.GetType
( y7 I/ ]$ E0 \3 \    Case swDocPART
3 V  R, [8 ~+ R- D0 l6 o        Debug.Print "Number of edges selected in part          = " & selCount
8 M3 s1 Y: m7 g4 N1 y8 F& }    Case swDocASSEMBLY
2 c2 [! o3 }$ n9 \        Debug.Print "Number of components selected in assembly = " & selCount' n& w( A, {9 F/ k
    Case swDocDRAWING
# D" ~) r+ y2 P! a% _* O6 j        Debug.Print "Number of entities selected in drawing    = " & selCount
" S0 h) t3 [0 \: w1 t    Case Else, M# P; e: ]0 Z  n0 \9 g
        Debug.Print "Unknown type of document."
: s& m/ R. V: U1 n0 z/ ^    End Select) M7 {4 N+ p$ g7 i5 T
    3 u; a% x# z9 ^
End Sub
7 z8 ~. ?# P  J5 e" m0 |
 楼主| 发表于 2015-12-2 20:41:01 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-2 09:39+ b) N. I" {; }1 @
如下是SW API 有關開檔的原文資料作參考3 Q) b# g' Z6 h' ^
& T/ F. n: f# B: o
Select All in Part, Assembly, or Drawing (VBA)
! j# J( N$ x+ h! k  r# y
API帮助是英文版的,想搜索都不知道用什么关键词,梁大见笑啦。
% |7 _  _3 P' r$ e/ c, Z" N  D: r1 \另,您昨天发的那个宏文件,因为我水平太差昨天晚上看了想了很久,应用应该还是能够瞎应用上了,但是还是没理解透彻,第一点就是不知道这宏(或者是所有的打开SW文档的宏)的原理是不是先把某个目录下的文件调入内存,然后去分析它的后缀名,后缀名最后三位符合您这宏文件里设定的"prt"或者"asm"时才正式在SW软件里打开文件?第二点就是,您的这个宏代码并没有指定当后缀名后三位是DRW时怎么处理,是不是后缀名后三位是DRW时SW默认不会打开这个文件而是只有在后三位符号宏文件里设定的“prt"或者"asm"时才会打开文件进行处理?
0 B. J" n: T1 M/ ?因为家里的电脑配置真的有点烂了,09年时买的电脑,平时用得很少,一直没升级,跑现在的版本的SW太卡,有的内容试过了,有的还没尝试试验,有啥常识性的错误请梁大谅解。明天把您这宏文件拷到公司去试验研究一天,谢谢梁大了。
发表于 2015-12-2 22:43:37 | 显示全部楼层 来自: 中国浙江嘉兴
13993359550 发表于 2015-12-2 22:10: }1 G# |! k$ h+ M0 e7 x/ D" Q: ~, c
梁大,有个问题一直想请教,不知道,您老愿意讲一下不,就这两个苦思不得其解,谢谢您了
! ?7 K* p5 Q" }9 @, }4 b' H* o
怎麼發在這裡呢!太不尊重樓主了[/color]
发表于 2015-12-2 22:50:59 | 显示全部楼层 来自: 中国浙江嘉兴
NC@jiang@nan 发表于 2015-12-2 20:41# @1 Q& b  }7 W0 D* |) [/ E4 q
API帮助是英文版的,想搜索都不知道用什么关键词,梁大见笑啦。
7 A! ?+ _8 }- M3 r. f另,您昨天发的那个宏文件,因为我水平 ...

! N0 J; a% C& \* D9 L; G# Q! q7 P Select Case Type_
" q# {) g2 m. |# u! w. L$ [) [0 k( D/ E'開零件檔% ?9 G8 b2 l2 y' M
            Case "PRT"
+ p6 d2 W. P4 p8 @/ x$ Z: n. K" q                Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開零件檔  \, q) L  q( ?& y
'開組件檔
8 g# D9 [3 W  v% A; R, G: s6 {            Case "ASM"
6 t* T6 ^) x, P3 e) h                Set swModel = swApp.OpenDoc6(path + sFileName, swDocASSEMBLY, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開組件檔3 J- v+ v* J) B" Q% Q9 s
        End Select1 c7 D* v+ u3 l" c1 @4 L4 _2 q
' I/ X$ w( \( O3 R. `5 g
3 w4 v" ?5 _( u" S" s* ?
是如上語句把工程圖篩選掉
发表于 2015-12-2 22:51:03 | 显示全部楼层 来自: 中国浙江嘉兴
本帖最后由 ryouss 于 2015-12-2 23:37 编辑 9 h6 {$ p, e+ a- [: F
NC@jiang@nan 发表于 2015-12-2 20:41
6 j0 K0 |0 u7 l0 e2 ^% @6 jAPI帮助是英文版的,想搜索都不知道用什么关键词,梁大见笑啦。
% x* m/ B2 ]7 B) V0 t另,您昨天发的那个宏文件,因为我水平 ...
  1.     Select Case Type_
    6 ]0 V5 [2 w+ i  e
  2.     '開零件檔
    $ V9 |1 X4 {' R6 l' ?
  3.    Case "PRT"
    . U6 c7 C3 y9 l, R7 K
  4.    Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開零件檔
    " x) Q/ l2 |. ?7 t+ V8 d
  5.    '開組件檔
    4 v' c) m; X1 E+ x$ y
  6.    Case "ASM"
    : u. {2 Y. C0 x5 M$ X+ D1 F' g
  7.    Set swModel = swApp.OpenDoc6(path + sFileName, swDocASSEMBLY, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開組件檔$ I& y- [" G; F; m  }. E
  8.    End Select( P% v" n$ ?3 n' X6 N
复制代码

8 ^  ~4 q( D% K0 ^
# U* ?) F1 X3 Y& l/ j( ]& O% P+ v6 X$ g3 ], I
1. 是如上語句把工程圖篩選掉當第1項的  Type_ 取得是 工程圖  DRW  就跳出第8項.
" R  x7 j4 G# X: i& L
    若是 Type_ 取得是 零件  PRT  就跳到第4項,執行  Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開零件檔   
& J# A- _5 W" f  y' j7 H    再跳到第8項,結束選擇循環.( t& [- O* ~* S
0 W: u$ E9 D9 ~- Y8 t1 L% B
Select Case Type_5 ~+ F' v; a1 J3 \
           ./ U3 g1 M9 G; u- K9 _- |7 k
          執行內容: v: e' r8 |! b1 T, F* q' E  b
           .4 {2 u3 N5 v8 ]& q5 A( Z, N# J9 t5 ]
End Select; h( C0 a& }- M9 E9 m: g5 E# _
8 n- i; H5 K8 ^8 ~; d: X4 {. t! ^
如上是個選擇循環
7 r: }4 \1 D4 b# v1 V: W( i9 k5 V( {" M3 [

& O) I- f% p  r; K  J  n
, o$ m& E5 g8 e) O! S2. 查有關開檔的關鍵語是   OpenDoc6/ `4 o* _3 z) L! n* I$ N* A  m: r
; R9 A4 A; F; W) J# l: @* [7 H

$ W/ {- E9 |0 \+ @- U3 ?' b6 M3 F
  Z# x% t/ v% }7 ^" W. i: n% g7 L. l
 楼主| 发表于 2015-12-3 00:41:07 | 显示全部楼层 来自: 中国广东深圳
本帖最后由 NC@jiang@nan 于 2015-12-3 01:15 编辑
$ g3 ?  i$ a1 @2 G/ n( [  m
ryouss 发表于 2015-12-2 22:50" e7 o2 X6 W) Q; |" S, B
Select Case Type_
9 E, s; J8 J- n'開零件檔
* m- x* v- A' Y& B3 K* k            Case "PRT"
9 u8 C/ O+ |$ b7 m" D
梁大,从回您上个帖后,一直在研究学习您的这个宏文件,到现在终于理解一二了。把提取文件的代号和名称写入配置特定属性栏的宏集成进去了。谢谢梁大指点了。
/ h' J) D0 ?2 }2 v+ t. _" s4 a$ Q: J4 j/ S9 Q. W
附上集成批量提取文件名中的代号和名称的宏文件,一方面请梁大有空时看看再指点指点哪里可以进一步改进,另一方面给有可能需要的朋友下载研究改进与使用。1 l  m- c- W* e( p

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

17.07 KB, 下载次数: 28

发表于 2015-12-3 09:27:37 | 显示全部楼层 来自: 中国上海
ryouss 发表于 2015-12-2 22:43, o$ L' x) K9 ?9 o* R  M
怎麼發在這裡呢!太不尊重樓主了

+ J) U1 m7 w$ T& Z* q不好意思,打扰了
发表于 2015-12-3 10:51:40 | 显示全部楼层 来自: 中国浙江嘉兴
NC@jiang@nan 发表于 2015-12-3 00:41: d$ m& V  v0 ]* j
梁大,从回您上个帖后,一直在研究学习您的这个宏文件,到现在终于理解一二了。把提取文件的代号和名称写 ...
  T" u  _1 k7 t
N大真用心呀,謝謝分享!
1 X8 w! r+ p4 s) y看了,有空時可以再幫做簡化.$ G4 `2 B+ [& r1 m7 t: U
发表于 2015-12-3 13:59:39 | 显示全部楼层 来自: 中国浙江嘉兴
本帖最后由 ryouss 于 2015-12-4 14:07 编辑
- Y6 l1 p7 C  d2 Q8 u: g6 E+ U9 F' |
12#的簡化參考
# ?) O1 o; `% r: M! _  N& ~7 ? OpenFile_Configuration.rar (11.62 KB, 下载次数: 18)
 楼主| 发表于 2015-12-3 20:22:05 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-3 13:59
' c: K- }& O1 X; Q5 c. c* x& }0 ~12#的簡化參考
/ N# M8 K1 J2 e) D* D! V2 q- _' d/ K SWP

; m; h3 a7 B; F, H6 q% z) E: S( m# u谢谢梁大,8 U' n; ~8 V! _  T9 ?& Q
这才完全是我想要的宏文件了。因为我觉得开启零件和开启装配体后,要在两段打开文件代码后分别执行一段完全一模一样的宏代码,这就不是那么合理的了,不仅是调试时比较烦琐,而且在下次万一有需要更改时,也容易漏改掉两段相同代码中的某一处。
) D& t. o6 ^$ n% E/ Y没系统的学过VB VC这些东西,脑子里有构想但不知道怎么用代码编出这个宏来,梁大是彻底的帮我解惑了,谢谢梁大。

点评

客氣了,幫到忙就好!  发表于 2015-12-3 20:40
发表于 2015-12-4 14:05:27 | 显示全部楼层 来自: 中国浙江嘉兴
15#編程如下補加紅色兩句,找到  "工程圖"  不做存檔關檔之處理.$ z; N( ~  Y  O
* A* j) S% G7 W4 b
           Case "ASM"
- O9 g  p2 _) `* T                Set swModel =swApp.OpenDoc6(path + sFileName, swDocASSEMBLY, swOpenDocOptions_Silent,"", nErrors, nWarnings)
+ q. Q; D' I+ n3 z& u                Call Configuration_ '呼叫副程式
& A3 L4 ]6 `) ]3 V       End Select* D8 I8 q( J& @! ]& ~/ x
       If Type_ <> "DRW" Then! l6 a& o1 O, i4 h3 O
       swModel.Save '存檔
& w& {2 ~' \" h8 W9 ~       swApp.CloseDoc swModel.GetTitle '關檔% D" p2 Y3 U! o: ^
      End If) a: p% o- d1 L0 w
       Set swModel = Nothing
' x% F- Z% ~6 f! I       sFileName = Dir '同路徑取出下個SW文件檔名4 v7 `$ y: l# O9 h9 a% t" \. z. W: z
   Loop' v& a& R, g3 |+ q- R
End Sub
 楼主| 发表于 2015-12-4 21:49:11 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-4 14:05: {& C4 a  ?0 H2 p+ N
15#編程如下補加紅色兩句,找到  "工程圖"  不做存檔關檔之處理.4 ^; ^! V0 P/ R1 q

0 l0 p4 r; `% S* P           Case "ASM"

9 C# G$ d4 I* a. {: x) B) Y* i# u梁大,可是原来的宏代码应该本身就没有开启工程图文档呀,为什么后面要再加上这一句辨别是非工程图时存档减档的代码呢?
发表于 2015-12-4 23:16:20 | 显示全部楼层 来自: 中国浙江嘉兴
難道你的文件里不存在工程圖嗎?& E6 P+ D* o- v$ I6 s4 a- d
若是的話當然執行沒問題,
0 }) A. w% e# N% q$ A% D有的話,見15#,就是沒開出工程圖,但跑到第 51項 會存檔造成矛盾而出錯的; l7 M$ m/ h5 g, o
 楼主| 发表于 2015-12-5 20:31:02 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-4 23:16
2 P$ h' q2 ~* O難道你的文件里不存在工程圖嗎?  E7 o3 s5 B* y
若是的話當然執行沒問題,- H9 v( w3 p- h5 l. K7 |$ b
有的話,見15#,就是沒開出工程圖,但跑到第 51項  ...

- ~9 N3 u- L( d* ~/ X8 s. n/ Y1 n哦哦。
0 J+ u. t4 i' M2 a我试验的时候那个文件夹里没放工程图。现在试下。谢谢梁大。

点评

哈! 跟我剛試用時一樣,所以沒發現問題!  发表于 2015-12-5 20:59
 楼主| 发表于 2015-12-5 21:35:18 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-4 23:16! U  o6 W5 f' `) H4 l3 l
難道你的文件里不存在工程圖嗎?
/ Y/ L8 A, c" G% g若是的話當然執行沒問題,6 _8 c+ |; {' K
有的話,見15#,就是沒開出工程圖,但跑到第 51項  ...

0 }$ Z7 w6 A* i! ?. j- X梁大,研究学习了一会,果然如您所言。
8 q9 ~5 U5 _, v0 ^* ]$ c9 j8 J' b+ \看来做宏这个东西,果然还是需要逻辑推理能力好的人才行,我就只能跟在后面慢慢学习了。' Y+ E5 V3 P: B! A! R9 K
谢谢梁大。

点评

互相學習了  发表于 2015-12-5 21:48
发表于 2015-12-5 21:48:10 | 显示全部楼层 来自: 中国山东莱芜
梁大,求助,sw2016 提示出错,如何解决
' k" s/ i* k8 d2 c+ z- d+ s/ n# |
捕获.PNG
 楼主| 发表于 2015-12-5 21:52:18 | 显示全部楼层 来自: 中国广东深圳
luanguangtao 发表于 2015-12-5 21:48; _0 y7 y/ {# i  q1 `4 `
梁大,求助,sw2016 提示出错,如何解决

, P4 h/ z/ R! t/ j8 K你在2016里更改了引用库没有?SW各个版本的工程库文件都不一样的
 楼主| 发表于 2015-12-5 21:54:16 | 显示全部楼层 来自: 中国广东深圳
luanguangtao 发表于 2015-12-5 21:48
7 \& W; M8 ~4 q* H' w( d梁大,求助,sw2016 提示出错,如何解决

9 s' f- L+ V) `$ |$ Q需要编辑宏,在VBA编辑界面下的“工具”菜单里点选“引用”,选你要用的运行库的版本。
发表于 2015-12-5 22:37:38 | 显示全部楼层 来自: 中国山东莱芜
但不知要选哪几项
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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