QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

[求助] 求梁大帮助指点

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

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

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

x
梁大,我现在研究SW批处理宏,想让运行宏时自动批量打开某一个文件夹下的零件和装配体文件,门外汉不知道完成这个功能的这句语句的代码应该怎么写?请求梁大指点下。谢谢。
! j4 d" U3 F8 d
 楼主| 发表于 2015-12-1 11:46:56 | 显示全部楼层 来自: 中国广东广州
@ryouss  梁大,求指点
发表于 2015-12-1 15:01:36 | 显示全部楼层 来自: 中国浙江嘉兴
NC@jiang@nan 发表于 2015-12-1 11:46  U0 f! u1 E3 t+ n  d% E( p
@ryouss  梁大,求指点
, U" _; A' I, t! H3 U9 j
指點不敢,相互研習就是
" E/ ^0 p! Q: i- C6 g, U
2 V9 ^- B) v6 `7 \- }如下試試, inputbox 之對話表輸入文件路徑  如 C:\TEST\     注意兩個  " \ " 符號7 p, H; E" l: t! Q- F
1.jpg
$ c( K- W8 s# {2 O' ^3 ^
8 d5 N! W. U9 [4 @. T+ ~9 c; F3 n  e; f1 k8 p" {
OpenFile part_asm.rar (10.23 KB, 下载次数: 39)
 楼主| 发表于 2015-12-1 16:31:22 | 显示全部楼层 来自: 中国广东广州
ryouss 发表于 2015-12-1 15:01
! L3 E# u, s$ A( n& p指點不敢,相互研習就是
+ m0 c, M5 O  `  x3 A8 t$ \5 ]3 z! E( N- S  i; B
如下試試, inputbox 之對話表輸入文件路徑  如  C:\TEST\     注意兩個  " \ " ...

3 A# f! a  P5 G' |: \0 _: ?# u0 ^. K谢谢梁大。/ Q2 f9 M5 u3 w( ~& ]7 s0 G/ \% F
我原来这样做的。我以为有可以在同一个语句里同时设定打开零件和装配体的办法,看来还是只能用这种先处理零件然后再处理组件的方式了。
* e4 T) B: ?& r. r* \/ n' ?谢谢梁大指点。
发表于 2015-12-1 20:41:22 | 显示全部楼层 来自: 中国浙江嘉兴
本帖最后由 ryouss 于 2015-12-2 08:58 编辑 : A0 g% ?. I0 S2 X( b9 k1 u; x
NC@jiang@nan 发表于 2015-12-1 16:31
- J( i! y2 J& g& B+ d% J' n& W谢谢梁大。
$ p- e3 k' [  f8 @  G8 S我原来这样做的。我以为有可以在同一个语句里同时设定打开零件和装配体的办法,看来还是只能 ...

) c+ S/ z0 Y& Y指令是死的,編程是活的,
$ t; w; a/ S4 [, t8 Z* a所以編程的寫法林林總總形形色色,
+ i# j) ~" j2 z7 C若是小編程尚不需計較寫法,能達結果就好,
4 T7 q4 |! \% K3 M; o5 H大編程就要考慮許多如執行效率日後維修及易用性擴展性...
4 _3 M. v9 q3 H; ^' O* P7 f* D9 c
5 l- {0 S# X$ s7 x* f, ^; B- T$ P
如下是另個寫法做參考,邏輯來說應該是會比2#效率好(若是開檔不多也是看不出),
7 X+ L5 v! Z/ }+ I7 S因只是在開檔文件路徑搜找一遍即可,2#是要搜找兩遍.2 ^/ B0 Q, S9 E3 {: {
, l$ z) z. L: \" z5 _
4.png
" }& X2 [3 S9 R7 o2 |8 ^% l
/ y4 [. L" L# }# n) L. @7 b% r) q1 P9 X1 m) F+ U/ w
OpenFile Part_Aam_1.rar (9.2 KB, 下载次数: 16)

评分

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

查看全部评分

 楼主| 发表于 2015-12-1 22:11:49 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-1 20:41' o" f$ l" u) l* u
指令是死的,編程是活的," k. s2 Y  [2 W5 _/ u! z
所以編程的寫法林林總總形形色色,! b( S1 E4 C% P1 }- v% y# ?! k$ }
若是小編程尚不需計較寫法,能達結果就好,

1 q% @+ @* \: H1 O& q是的,我原来想的就是这样,在路径下找一遍,碰到装配体时就打开装配体,碰到零件文件就打开零件文件,整个目录下只搜寻一遍。0 }3 s% c! l7 m$ C+ ^/ x7 |
谢谢梁大指点,下载研究了。
发表于 2015-12-2 09:39:06 | 显示全部楼层 来自: 中国浙江嘉兴
如下是SW API 有關開檔的原文資料作參考
3 s* r3 O7 j7 C
4 z" W) O0 X+ o1 ASelect All in Part, Assembly, or Drawing (VBA)
. R. U5 A. P% d- w, R9 T* j# r# d% x2 @& ^: W" l
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.9 R+ K6 |8 T( i6 f, m: U+ K
' ******************************************************************************
# y2 K& E3 n: F; x$ }  X' Preconditions:7 D( Z$ m) a, u' l, }6 q& Y
' 1. Part, assembly, and drawing documents opened by the macro
% `. p% `  n$ k  d: W'    exist.
& o/ |$ Q7 \2 _. V' 2. Open the Immediate window.
, [, R5 i+ h, u) V'* E+ N6 M- N/ t! T
' Postconditions:
. R$ t3 X- ?9 P+ F4 R" E' 1. Examine:
2 P$ {1 X2 F& b' F; m8 u8 T( r# @( v'    * Sheet to verify that all of the entities in the drawing
; l  |. a" d6 I'      are selected.) e2 f* y% c/ ?
'    * Immediate window to see how many entities are selected.
+ [  `* |5 R# \9 A9 g6 q' 2. Click Window > bolt-assembly.sldasm to switch to the assembly
4 p& n: _" I4 t( l# e1 L  E: G'    document.
8 Y. a! d) Z5 l$ M2 o' 3. Examine:
, P# ^7 V: n7 L( W& W, J# y7 v7 {'    * Graphics area to verify that the all of the components: H. x9 _, e6 u  n
'      in the assembly are selected.
0 Z) g9 o2 h. b7 Z+ \9 X  d3 q'    * Immediate window to see how many components are selected.) j; W/ E" n% d' R5 Z
' 4. Click Window > bolt.sldprt to switch to the part document.% \) `4 G+ z; _! C
' 5. Examine:: ?2 {) ?& V  L1 }) s& P* B  g
'    * Graphics area to verify that the all of the edges
3 E+ M' v+ z- o( H6 A, A, x'      in the part are selected.1 K$ H# s9 F7 K# ^+ _4 U
'    * Immediate window to see how many edges are selected.
3 O5 y8 L; _. A0 C- ~3 U'
+ k5 b. _- R2 Y# F. ?' NOTE: Because these documents are used elsewhere, do not save any
5 ]6 d/ |1 [2 Y) r$ c* d* u' changes when closing them.
+ S: l  L2 ?- s' ~) ^' ******************************************************************************
3 @* T; H" \4 C) Z* [1 p- y8 `! BOption Explicit6 W' }. D  V# K7 e1 Q
Dim swApp As SldWorks.SldWorks8 F- T- `2 m( j" Q; I
Dim swModel As SldWorks.ModelDoc2
& r* p4 S$ X6 m" g1 E% IDim swModelDocExt As SldWorks.ModelDocExtension! b9 ^8 m4 y: |- _/ ?2 v6 Y4 d$ o
Dim swSelMgr As SldWorks.SelectionMgr; L: ?) Y+ E4 S1 o! N! a, T
Dim partFile As String
& O6 w1 J8 R9 q/ N6 KDim assemblyFile As String5 {5 k, `+ L, s5 f8 e; X0 B' q% ^
Dim drawingFile As String
( [4 T- K+ ~+ @  @# n% qDim errors As Long
( ]8 h* K& S& }6 n* e) FDim warnings As Long
; d+ k9 S" O. t4 _9 |3 M$ O2 jDim selCount As Integer
) P# K0 ~7 s$ t+ M+ Z' [# Q1 p* ~Sub main()- e5 W3 y0 n9 t& I
    Set swApp = Application.SldWorks
' {1 c0 v. P! S- d$ i  k% f; L    # S+ @6 O% ^$ l: E+ H3 o7 _% G
    ' Open a part document and select all edges in the part/ p! @$ H+ [$ K& o& N# d. Y
    partFile = "C:\Program Files\SolidWorks Corp\SolidWorks\samples\introsw\bolt.sldprt"7 P% |! d+ H; [
    Set swModel = swApp.OpenDoc6(partFile, swDocPART, swOpenDocOptions_Silent, "", errors, warnings)
: T0 y+ Q7 Y, Q    Set swModelDocExt = swModel.Extension( w8 \* [# u6 K) R* s. `4 L0 h; V
    Set swSelMgr = swModel.SelectionManager1 [6 ]3 a  a1 T' _- J, d5 e& U
    'Select all edges in part3 ]/ m3 o) O% b( q
    SelectAllinDocument8 z0 j! E; p) T. ]( Z
   
3 |2 D+ M; b7 m' ^7 _    ' Open an assembly document and select all components in the assembly- \& G9 y) X6 |1 `, {" v( g: m
    assemblyFile = "C:\Program Files\SolidWorks Corp\SolidWorks\samples\introsw\bolt-assembly.sldasm"
( Z0 L. N+ A( t' E  T    Set swModel = swApp.OpenDoc6(assemblyFile, swDocASSEMBLY, swOpenDocOptions_Silent, "", errors, warnings)- l& y2 v3 S. T; L
    Set swModelDocExt = swModel.Extension
( ^  J- b+ z" D, s  L- H/ R- [$ p    Set swSelMgr = swModel.SelectionManager+ c1 }" W7 ^" U7 M) R. \& m6 S
    'Select all components in assembly
( H  e" L( j5 q# [+ X    SelectAllinDocument
. N! ]: g; U+ L1 C* m0 q   
2 M+ B/ N1 Z" H3 W" x0 m    ' Open a drawing document and select all entities in the drawing
- ^" R) g! r0 U# n8 q  N& i' p$ s2 e    drawingFile = "C:\Program Files\SolidWorks Corp\SolidWorks\samples\introsw\bolt-assembly.slddrw"0 k) h* k  [( J) y. j% n
    Set swModel = swApp.OpenDoc6(drawingFile, swDocDRAWING, swOpenDocOptions_Silent, "", errors, warnings)6 T- Z# i" v. V# N9 t5 D( \6 `
    Set swModelDocExt = swModel.Extension) N  a8 X2 x0 v7 l
    Set swSelMgr = swModel.SelectionManager5 t8 ^- o. S! K  ?
    'Select all entities in drawing
3 G4 L; c  `3 s9 F    SelectAllinDocument
& i7 ?+ |) w0 @9 N4 ]- _/ C   
" m! D/ K+ S7 dEnd Sub
+ r: i* F0 q; \0 T5 vSub SelectAllinDocument()
* P! p2 Z4 F' z* u. j. t    ' Select all edges in a part, all components in an assembly,3 L, ]' P4 U- a) |) L3 ]& g
    ' or all entities in a drawing
* |7 K) {9 ]2 ~6 \9 ]     swModelDocExt.SelectAll   
: D! K' H% C) J1 M& o    ' Get and print the number of selections
5 j0 F" H/ e  @7 \% l9 I& Y/ R: |& \    selCount = 07 G* Q9 n/ u, N/ R6 W
    selCount = swSelMgr.GetSelectedObjectCount2(-1)      B( k9 p- U. I, r
    Select Case swModel.GetType2 H; f8 x1 @0 p" U; _1 J8 L
    Case swDocPART+ t) Z9 I* y& ~8 V
        Debug.Print "Number of edges selected in part          = " & selCount9 M+ _3 l7 ~* E( H" b' t0 ]
    Case swDocASSEMBLY: B2 q9 t5 t+ z3 e2 `
        Debug.Print "Number of components selected in assembly = " & selCount' C- M& L( A+ w& M
    Case swDocDRAWING
* ]4 ?, e+ i; c3 O! L        Debug.Print "Number of entities selected in drawing    = " & selCount
( j( x$ x- _* b/ K    Case Else* ^7 ]# ^8 x# a8 A# Y1 ]0 M
        Debug.Print "Unknown type of document."
5 u  C+ E( N& R9 E    End Select
1 O- F$ O$ [4 z0 K! V5 S    ! G4 z& C  d5 G" U
End Sub
( m2 F; p- N* I+ D7 v
 楼主| 发表于 2015-12-2 20:41:01 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-2 09:39, p) u& s9 l2 i  \! w0 [9 N5 w
如下是SW API 有關開檔的原文資料作參考
8 Z& X* z; s8 q7 Z7 E$ @5 _* @, P# p' P5 g0 _. @$ Q
Select All in Part, Assembly, or Drawing (VBA)
$ x% J" s& V& }- _7 ]
API帮助是英文版的,想搜索都不知道用什么关键词,梁大见笑啦。
# s5 m3 b: Y8 V) k另,您昨天发的那个宏文件,因为我水平太差昨天晚上看了想了很久,应用应该还是能够瞎应用上了,但是还是没理解透彻,第一点就是不知道这宏(或者是所有的打开SW文档的宏)的原理是不是先把某个目录下的文件调入内存,然后去分析它的后缀名,后缀名最后三位符合您这宏文件里设定的"prt"或者"asm"时才正式在SW软件里打开文件?第二点就是,您的这个宏代码并没有指定当后缀名后三位是DRW时怎么处理,是不是后缀名后三位是DRW时SW默认不会打开这个文件而是只有在后三位符号宏文件里设定的“prt"或者"asm"时才会打开文件进行处理?
* y2 T/ @. P5 n, ~. H6 H* B因为家里的电脑配置真的有点烂了,09年时买的电脑,平时用得很少,一直没升级,跑现在的版本的SW太卡,有的内容试过了,有的还没尝试试验,有啥常识性的错误请梁大谅解。明天把您这宏文件拷到公司去试验研究一天,谢谢梁大了。
发表于 2015-12-2 22:43:37 | 显示全部楼层 来自: 中国浙江嘉兴
13993359550 发表于 2015-12-2 22:10
5 K- G7 I2 o1 p' r+ g梁大,有个问题一直想请教,不知道,您老愿意讲一下不,就这两个苦思不得其解,谢谢您了
" A9 J4 s  t5 M' r, A, A7 y
怎麼發在這裡呢!太不尊重樓主了[/color]
发表于 2015-12-2 22:50:59 | 显示全部楼层 来自: 中国浙江嘉兴
NC@jiang@nan 发表于 2015-12-2 20:41/ ^# i- G& P7 Z+ f0 V+ U% B( {
API帮助是英文版的,想搜索都不知道用什么关键词,梁大见笑啦。& {* u4 D! f& c# V9 r
另,您昨天发的那个宏文件,因为我水平 ...

* P* j/ J4 R; d( O Select Case Type_; R- j4 y& q, Z8 b
'開零件檔0 |9 X% ]7 V! }; |
            Case "PRT". Z  I0 U# P% W7 F
                Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開零件檔" c* g8 ~& o& ?6 m
'開組件檔
/ }3 K1 b) X, ?5 K7 V/ v5 h. R3 f. A            Case "ASM"
7 l  b0 H* z1 e) j! I$ @9 y                Set swModel = swApp.OpenDoc6(path + sFileName, swDocASSEMBLY, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開組件檔5 @9 \" D" L9 ~- V7 e* A5 r
        End Select+ o% X) L! I6 |8 e) _- M! G% i
6 ^% @; t* P8 j" b
4 `* a9 b* Q+ e" O& c5 I) b  z6 J6 M
是如上語句把工程圖篩選掉
发表于 2015-12-2 22:51:03 | 显示全部楼层 来自: 中国浙江嘉兴
本帖最后由 ryouss 于 2015-12-2 23:37 编辑 ! Q8 E" a: |9 S. q3 p- `; X
NC@jiang@nan 发表于 2015-12-2 20:41
2 x+ X! z2 J8 f3 v& V& cAPI帮助是英文版的,想搜索都不知道用什么关键词,梁大见笑啦。
; O2 Y! M. V  y7 d8 A, L另,您昨天发的那个宏文件,因为我水平 ...
  1.     Select Case Type_2 Q. K  E* v8 M$ U5 k
  2.     '開零件檔: e% t$ E0 G/ u) _. P
  3.    Case "PRT"- Y% `) d. `0 }6 ]4 m, l+ W3 c
  4.    Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開零件檔3 p$ ?! u, A- E- p
  5.    '開組件檔3 ]8 A5 m% S- n. D) a
  6.    Case "ASM"
    - L) u( }* O6 J! U: o1 Z
  7.    Set swModel = swApp.OpenDoc6(path + sFileName, swDocASSEMBLY, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開組件檔
    , r6 `! ^, A' F- W* j
  8.    End Select& N) b: ?* o( g. ]3 n6 k* M4 L( }
复制代码

. [$ H3 }& {: T% m3 L" M! |) @  p  x0 R4 d

7 `( B2 ]/ c# m' B& ]  k& c: j1. 是如上語句把工程圖篩選掉當第1項的  Type_ 取得是 工程圖  DRW  就跳出第8項.
3 t) C1 d9 z. o: A) i# t( K
    若是 Type_ 取得是 零件  PRT  就跳到第4項,執行  Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開零件檔    5 v# i6 {7 q8 D
    再跳到第8項,結束選擇循環.
8 V3 K4 L6 A( [) e# G
: k& {# @" H8 k5 @, ^Select Case Type_
0 t, h9 Y: P& G7 ?  {           .
; \# d7 n9 Q' n          執行內容: n; M) ~6 o3 {
           .
* j  B& ?( [& U" A& ?" l+ l/ D# WEnd Select( `/ Y# T! }0 @- J* K$ f" y
( O7 o' ~1 Z' J1 c) p
如上是個選擇循環
1 w% {- [: x7 y$ T
6 V$ C+ M8 p" v$ @% O) p% K

+ {$ K8 e; H' c4 n% ]
5 n1 R: e2 }3 e2. 查有關開檔的關鍵語是   OpenDoc6* m; a  i+ _. K2 W
  @5 J! ]( s, [( T- Y

5 |# g1 [+ F/ `4 j
: P9 O0 y! V2 k* @: {+ \# P( b
 楼主| 发表于 2015-12-3 00:41:07 | 显示全部楼层 来自: 中国广东深圳
本帖最后由 NC@jiang@nan 于 2015-12-3 01:15 编辑
1 t, h5 a2 L0 i# z3 Z8 L4 a
ryouss 发表于 2015-12-2 22:501 p& Q% @& P8 b# Q, A
Select Case Type_
# G7 y! y, I# F: k. C+ T9 I6 j. H3 o'開零件檔
; y; Y" V7 [7 j$ A            Case "PRT"

" i. ~# `, L7 s8 U+ V, X梁大,从回您上个帖后,一直在研究学习您的这个宏文件,到现在终于理解一二了。把提取文件的代号和名称写入配置特定属性栏的宏集成进去了。谢谢梁大指点了。; J! R0 p8 I  Z1 b4 g& ^! p) {

0 r9 F; r, F" h. }% A9 ^( z% T4 |附上集成批量提取文件名中的代号和名称的宏文件,一方面请梁大有空时看看再指点指点哪里可以进一步改进,另一方面给有可能需要的朋友下载研究改进与使用。
8 B; O7 X0 z7 L- T. J) R: d

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

17.07 KB, 下载次数: 28

发表于 2015-12-3 09:27:37 | 显示全部楼层 来自: 中国上海
ryouss 发表于 2015-12-2 22:43
% N- E; o1 p' R( u& k怎麼發在這裡呢!太不尊重樓主了
& O3 Y3 k/ y9 X7 ^0 o7 p& I9 u
不好意思,打扰了
发表于 2015-12-3 10:51:40 | 显示全部楼层 来自: 中国浙江嘉兴
NC@jiang@nan 发表于 2015-12-3 00:41
; L5 g) h$ k8 o* @3 E梁大,从回您上个帖后,一直在研究学习您的这个宏文件,到现在终于理解一二了。把提取文件的代号和名称写 ...

* r  l# q0 O* A7 \4 S; ON大真用心呀,謝謝分享!6 Y/ j: m- D- j6 e/ f0 O1 r
看了,有空時可以再幫做簡化.: f6 |- I. y5 A) r% S5 a3 ?  _
发表于 2015-12-3 13:59:39 | 显示全部楼层 来自: 中国浙江嘉兴
本帖最后由 ryouss 于 2015-12-4 14:07 编辑
8 `. N5 q1 M! L' K& q. E9 ]6 m: S5 T, {, ~0 M
12#的簡化參考
6 n- e4 e) b& T! N& a6 ?* M" B OpenFile_Configuration.rar (11.62 KB, 下载次数: 18)
 楼主| 发表于 2015-12-3 20:22:05 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-3 13:59
: V9 l# B0 q& k" M  N12#的簡化參考
: q8 h* a: q. [6 u, c4 A/ }) h+ V5 j SWP

3 A! Q4 e0 C& x2 g2 Z- v谢谢梁大,
+ b) M- y2 |( |3 j- k0 S这才完全是我想要的宏文件了。因为我觉得开启零件和开启装配体后,要在两段打开文件代码后分别执行一段完全一模一样的宏代码,这就不是那么合理的了,不仅是调试时比较烦琐,而且在下次万一有需要更改时,也容易漏改掉两段相同代码中的某一处。4 g" d9 W6 S" w
没系统的学过VB VC这些东西,脑子里有构想但不知道怎么用代码编出这个宏来,梁大是彻底的帮我解惑了,谢谢梁大。

点评

客氣了,幫到忙就好!  发表于 2015-12-3 20:40
发表于 2015-12-4 14:05:27 | 显示全部楼层 来自: 中国浙江嘉兴
15#編程如下補加紅色兩句,找到  "工程圖"  不做存檔關檔之處理.
) _( k0 U4 ]# v$ R$ p
6 l3 |( j3 i8 {9 P           Case "ASM"
6 r+ p" F6 c  ^! l' d/ j                Set swModel =swApp.OpenDoc6(path + sFileName, swDocASSEMBLY, swOpenDocOptions_Silent,"", nErrors, nWarnings)
1 i  E& V; c+ Q1 c4 R6 B% \                Call Configuration_ '呼叫副程式
! Z; V( y9 h- f       End Select
6 u4 n, B# J6 p, [: b       If Type_ <> "DRW" Then, D! v8 s, Y; U7 ?5 a
       swModel.Save '存檔
: e8 ~8 t" w8 J* n1 p. X5 I       swApp.CloseDoc swModel.GetTitle '關檔2 e% u5 i$ D9 R! R0 t
      End If4 V/ }: W: y" t* P
       Set swModel = Nothing
5 _1 V( Y) a9 t- \- _       sFileName = Dir '同路徑取出下個SW文件檔名. K+ G3 ?# w+ W- F
   Loop
/ r( w; G3 ], s3 q2 f" jEnd Sub
 楼主| 发表于 2015-12-4 21:49:11 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-4 14:05
$ w& m" u1 u' U% R/ V15#編程如下補加紅色兩句,找到  "工程圖"  不做存檔關檔之處理.* L6 Q& H2 N) \

( p2 p2 u; r/ E  M  ]           Case "ASM"

* @, c6 d2 I- k* |2 s0 a2 x" }梁大,可是原来的宏代码应该本身就没有开启工程图文档呀,为什么后面要再加上这一句辨别是非工程图时存档减档的代码呢?
发表于 2015-12-4 23:16:20 | 显示全部楼层 来自: 中国浙江嘉兴
難道你的文件里不存在工程圖嗎?- l* m* G* H" p
若是的話當然執行沒問題,2 [/ }4 c: a3 q) }/ v% l! o
有的話,見15#,就是沒開出工程圖,但跑到第 51項 會存檔造成矛盾而出錯的
4 j' o+ ]. D& A3 P  t0 U: W3 U  r
 楼主| 发表于 2015-12-5 20:31:02 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-4 23:16: _; Z+ C( w/ U8 Q+ _1 i
難道你的文件里不存在工程圖嗎?
- O% A9 F8 ?) \/ E7 Y# O若是的話當然執行沒問題,: ~& |: Q/ \7 T% G  D4 A
有的話,見15#,就是沒開出工程圖,但跑到第 51項  ...
0 k+ S) J7 {+ O" q3 B
哦哦。/ _1 p% v/ s  r; p, d$ [
我试验的时候那个文件夹里没放工程图。现在试下。谢谢梁大。

点评

哈! 跟我剛試用時一樣,所以沒發現問題!  发表于 2015-12-5 20:59
 楼主| 发表于 2015-12-5 21:35:18 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-4 23:16
$ m1 E! Q2 {- L& V2 O9 u2 r難道你的文件里不存在工程圖嗎?- u+ A" _# Y$ n( o
若是的話當然執行沒問題,, V0 }: j) O9 u- |
有的話,見15#,就是沒開出工程圖,但跑到第 51項  ...

9 C% Y3 a% r# o  I, e+ z/ \0 b8 K% x梁大,研究学习了一会,果然如您所言。' t, C7 x; |1 Z# n
看来做宏这个东西,果然还是需要逻辑推理能力好的人才行,我就只能跟在后面慢慢学习了。
0 E; ^) J# _6 F: U' x) V/ I8 A谢谢梁大。

点评

互相學習了  发表于 2015-12-5 21:48
发表于 2015-12-5 21:48:10 | 显示全部楼层 来自: 中国山东莱芜
梁大,求助,sw2016 提示出错,如何解决) o1 _' y6 b3 w4 Y1 L7 v/ b
捕获.PNG
 楼主| 发表于 2015-12-5 21:52:18 | 显示全部楼层 来自: 中国广东深圳
luanguangtao 发表于 2015-12-5 21:48
$ g* M" c  S  o  j, S梁大,求助,sw2016 提示出错,如何解决
- H( L" z$ i4 D$ ]7 K
你在2016里更改了引用库没有?SW各个版本的工程库文件都不一样的
 楼主| 发表于 2015-12-5 21:54:16 | 显示全部楼层 来自: 中国广东深圳
luanguangtao 发表于 2015-12-5 21:487 a! u0 j- z" J5 y9 m
梁大,求助,sw2016 提示出错,如何解决
; w! n) Y: m* S8 E; \( ^
需要编辑宏,在VBA编辑界面下的“工具”菜单里点选“引用”,选你要用的运行库的版本。
发表于 2015-12-5 22:37:38 | 显示全部楼层 来自: 中国山东莱芜
但不知要选哪几项
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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