QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

[求助] 求梁大帮助指点

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

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

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

x
梁大,我现在研究SW批处理宏,想让运行宏时自动批量打开某一个文件夹下的零件和装配体文件,门外汉不知道完成这个功能的这句语句的代码应该怎么写?请求梁大指点下。谢谢。! @7 L) a! r! k9 G1 N( J* O
 楼主| 发表于 2015-12-1 11:46:56 | 显示全部楼层 来自: 中国广东广州
@ryouss  梁大,求指点
发表于 2015-12-1 15:01:36 | 显示全部楼层 来自: 中国浙江嘉兴
NC@jiang@nan 发表于 2015-12-1 11:46
# \% y2 E4 r  ?6 ~+ J: m& k@ryouss  梁大,求指点
) F% g9 u+ o# H! W! j2 W/ o7 O
指點不敢,相互研習就是
% Q* Q  M9 H1 s, ?" h" p
" y- R. \: E' M, b9 j# _9 _3 Z9 e如下試試, inputbox 之對話表輸入文件路徑  如 C:\TEST\     注意兩個  " \ " 符號
) U$ C7 F) ]; f! v* O1 E* ~ 1.jpg 7 F! {, x) k' ~
0 G; O5 o2 S* |( U

8 @$ [# Y* n6 b4 T+ n OpenFile part_asm.rar (10.23 KB, 下载次数: 39)
 楼主| 发表于 2015-12-1 16:31:22 | 显示全部楼层 来自: 中国广东广州
ryouss 发表于 2015-12-1 15:01% v- ~. r+ e* c8 A4 u' z
指點不敢,相互研習就是
4 ^& _! o7 \0 v
2 x/ i& Z6 X( v! P' _8 B如下試試, inputbox 之對話表輸入文件路徑  如  C:\TEST\     注意兩個  " \ " ...

  x! I' e& b7 C1 R: H8 |0 _  W谢谢梁大。
& a- i3 u, Q. Q4 y2 c* R- l0 v我原来这样做的。我以为有可以在同一个语句里同时设定打开零件和装配体的办法,看来还是只能用这种先处理零件然后再处理组件的方式了。
: k( K; V8 s& U; z! f# q4 h/ R谢谢梁大指点。
发表于 2015-12-1 20:41:22 | 显示全部楼层 来自: 中国浙江嘉兴
本帖最后由 ryouss 于 2015-12-2 08:58 编辑
/ ^) z& _. n; N, V
NC@jiang@nan 发表于 2015-12-1 16:318 [" z+ G1 M, b, B" ]" Y* w% W  v
谢谢梁大。
) _( _7 y; I! @7 J我原来这样做的。我以为有可以在同一个语句里同时设定打开零件和装配体的办法,看来还是只能 ...

0 d5 j3 u* l: ^9 E$ I$ E. h$ |8 B" D指令是死的,編程是活的,1 l- s1 S# K1 K# O% y3 R' q
所以編程的寫法林林總總形形色色,, g/ M* o5 z7 _2 p2 @1 r
若是小編程尚不需計較寫法,能達結果就好,3 u0 j7 P5 k+ A2 q# c$ ~
大編程就要考慮許多如執行效率日後維修及易用性擴展性...+ V" q: T  }$ r2 B' ^- i
" p5 f) V& L2 c1 H! d$ S
8 k: b/ ~/ R7 e) M2 z" @* U. B
如下是另個寫法做參考,邏輯來說應該是會比2#效率好(若是開檔不多也是看不出),3 C6 K: ?- s9 y- W) x
因只是在開檔文件路徑搜找一遍即可,2#是要搜找兩遍.1 W* D! I/ J7 I/ H( k1 n
' T3 X' q: o% V3 i& s$ u- {
4.png 1 }( h" ]: y+ |, T# z
6 A* J/ y6 v6 M. D( w8 {+ x2 L% W
* l7 Z- G% J& M; o, z
OpenFile Part_Aam_1.rar (9.2 KB, 下载次数: 16)

评分

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

查看全部评分

 楼主| 发表于 2015-12-1 22:11:49 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-1 20:41
" U: {/ a% b  k+ H& D) h. L$ c指令是死的,編程是活的,& G8 k0 Y( g' L& o/ _7 r) p+ O
所以編程的寫法林林總總形形色色,
) q1 J5 ^( B( O; y7 A若是小編程尚不需計較寫法,能達結果就好,
4 W4 h. c5 q8 u# S
是的,我原来想的就是这样,在路径下找一遍,碰到装配体时就打开装配体,碰到零件文件就打开零件文件,整个目录下只搜寻一遍。% d/ j  v' b, r( q* j
谢谢梁大指点,下载研究了。
发表于 2015-12-2 09:39:06 | 显示全部楼层 来自: 中国浙江嘉兴
如下是SW API 有關開檔的原文資料作參考
8 A; H3 ]% R# F5 g! t/ v+ V! X% c( V4 ^" h' C
Select All in Part, Assembly, or Drawing (VBA)
$ n& D9 S/ q8 n! S# e: K5 I: j7 c/ K6 Q+ y9 `4 g) {3 W" n
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.
  w6 ^) Y* p9 {9 {' ******************************************************************************
! d' B/ d' Y8 _' Preconditions:4 D- h1 i/ A+ F8 U
' 1. Part, assembly, and drawing documents opened by the macro
5 ~5 ]6 y, u! k& K1 {# }4 l'    exist.
4 ?5 ?; P% M% O0 J( J' 2. Open the Immediate window.
6 w' k  Q1 ^2 T'
5 i; e; M/ k1 c: H+ K' Postconditions:5 V7 k6 ^0 x& R6 l, R( {( ~0 o
' 1. Examine:
) F# H7 J! h& ^; I& z% S'    * Sheet to verify that all of the entities in the drawing
, |1 N5 k) V' E- p# b0 D' Q'      are selected.
' I. Q, q, O& x2 j3 S7 m1 g8 j'    * Immediate window to see how many entities are selected.0 v" c$ m  a0 r
' 2. Click Window > bolt-assembly.sldasm to switch to the assembly
2 ?; O5 j. Q! q3 J, _" u'    document.
: g& D6 w+ d& _( s1 W' 3. Examine:
: v5 i  D* A. d5 h'    * Graphics area to verify that the all of the components" }7 I! k" x8 V7 r
'      in the assembly are selected.4 a6 y! G" C9 M* }
'    * Immediate window to see how many components are selected.
5 p+ d5 M% |( q: o" h, T' q' 4. Click Window > bolt.sldprt to switch to the part document.
. ^1 C; \* F  ?: D; G9 n' 5. Examine:! B3 U+ P2 K8 M" r2 ^0 Y- G. \, c
'    * Graphics area to verify that the all of the edges8 d6 A6 H% L4 Y7 E8 c- k
'      in the part are selected.# m" v: J$ z( V/ r1 r
'    * Immediate window to see how many edges are selected.
" l; U# H( ~) `" k* E'% a0 d0 L* ?( ^6 W* }' @$ U6 d
' NOTE: Because these documents are used elsewhere, do not save any
5 p- c. ^; Z5 B* [7 p3 i$ [' changes when closing them.
# d5 i, M4 Z+ z6 w. j( d' ******************************************************************************
6 ~) S$ L! F, \& H: A; GOption Explicit
5 y* {, m9 n$ Q& Z0 UDim swApp As SldWorks.SldWorks
0 R) c. k; K/ ^# IDim swModel As SldWorks.ModelDoc2
* c& ]6 o* r0 ]( {  \9 |Dim swModelDocExt As SldWorks.ModelDocExtension
: q$ G0 l7 M+ j3 uDim swSelMgr As SldWorks.SelectionMgr
- j) P. L( P6 j: q; HDim partFile As String) Y( U* S  b2 _, x1 M5 C
Dim assemblyFile As String, E( S, l+ ~: A! ^. d
Dim drawingFile As String
- R, e, o( y% `Dim errors As Long0 h$ c: T' T2 N4 ]) b: u
Dim warnings As Long
( z- l& H: a( F. I' d$ K  Q& EDim selCount As Integer: Q7 e' E  C$ |* E6 O- O' F
Sub main()3 k/ B  M  t$ `% N# k/ _* @  o
    Set swApp = Application.SldWorks
* R) W7 D9 W! A$ K   
) T/ _8 y0 ]" K4 h3 l8 C! z$ v3 S    ' Open a part document and select all edges in the part
3 m, }* o$ ]5 ^9 R1 U) B    partFile = "C:\Program Files\SolidWorks Corp\SolidWorks\samples\introsw\bolt.sldprt"8 e( J* H, K1 W, y0 r1 M6 d
    Set swModel = swApp.OpenDoc6(partFile, swDocPART, swOpenDocOptions_Silent, "", errors, warnings); n; u% D; D) p7 d6 ]+ L& H7 J( H
    Set swModelDocExt = swModel.Extension
. D; g. A- z6 n  b; B; [    Set swSelMgr = swModel.SelectionManager5 g  I+ f' G9 [' E
    'Select all edges in part
5 v1 R5 ?2 z, Q) v) _    SelectAllinDocument
& q/ E+ S2 D. L" M& {   
3 f- R8 i# t6 Y; Z9 h% N    ' Open an assembly document and select all components in the assembly7 w# N5 V% t- R8 E- E* J7 H
    assemblyFile = "C:\Program Files\SolidWorks Corp\SolidWorks\samples\introsw\bolt-assembly.sldasm"
& u0 b2 A4 s' s" {2 \7 I1 a3 ~" D    Set swModel = swApp.OpenDoc6(assemblyFile, swDocASSEMBLY, swOpenDocOptions_Silent, "", errors, warnings)1 ?: A4 {9 D, d: T1 Q
    Set swModelDocExt = swModel.Extension+ l7 e) n1 A6 ^3 `6 V" |$ R
    Set swSelMgr = swModel.SelectionManager- r$ U- u# @1 ~
    'Select all components in assembly
0 \0 W) B7 p4 m7 b8 n' R/ ?) x9 f    SelectAllinDocument; V, J: n: T: R5 L# H: {1 r
    4 O( F. g" x) h" B& f
    ' Open a drawing document and select all entities in the drawing7 u! l3 D  P0 d( E3 H
    drawingFile = "C:\Program Files\SolidWorks Corp\SolidWorks\samples\introsw\bolt-assembly.slddrw"
6 S1 @  A' |# B2 C: y, x    Set swModel = swApp.OpenDoc6(drawingFile, swDocDRAWING, swOpenDocOptions_Silent, "", errors, warnings)
7 N5 m% l; r2 x7 N    Set swModelDocExt = swModel.Extension
( r6 Y- z7 L4 u% _( _6 v+ N    Set swSelMgr = swModel.SelectionManager
- D* i+ W- I5 |' w, [* Y  `    'Select all entities in drawing8 `" h$ D% T) Z
    SelectAllinDocument1 A' S+ A' }$ t$ K+ C# P9 S: _6 A: b* D
   
& ?/ ]# {& {  x3 EEnd Sub1 C7 e2 K2 w& \& V" ?- N% h
Sub SelectAllinDocument(); H& @& v# T% d' f4 C
    ' Select all edges in a part, all components in an assembly,
7 v: a" h6 ]  i' t- p8 m3 _, R    ' or all entities in a drawing
) V% {: h" a  H/ o' m5 ~( v5 b     swModelDocExt.SelectAll   
+ R& {0 c9 B( L5 A    ' Get and print the number of selections
0 @1 G" }  J+ w2 V0 Y- y    selCount = 0
, o3 e$ [" r2 F# |$ K% R! b    selCount = swSelMgr.GetSelectedObjectCount2(-1)    1 H" P  G" s$ E
    Select Case swModel.GetType
  X3 @4 N( e8 {* a* E+ O9 x    Case swDocPART
- R" l8 \7 g9 z7 V        Debug.Print "Number of edges selected in part          = " & selCount/ v7 T6 G8 i$ p" ~* e& e
    Case swDocASSEMBLY) V0 k5 |, c6 f+ t8 N5 a
        Debug.Print "Number of components selected in assembly = " & selCount
; y; }- o' b% K" d( {6 d3 D9 E    Case swDocDRAWING
3 a' H* K* S6 C        Debug.Print "Number of entities selected in drawing    = " & selCount! o1 M/ L% L' I
    Case Else
* Z6 U1 Y2 h) ~$ r        Debug.Print "Unknown type of document."
2 s. A$ m( g; ^    End Select* T& C3 J  f/ g  V9 M
    - v6 H8 u" r% P0 u
End Sub* {# v/ }* E5 C3 ?4 ]1 e
 楼主| 发表于 2015-12-2 20:41:01 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-2 09:39
) @7 S: C0 x3 B如下是SW API 有關開檔的原文資料作參考- o; i! E$ G, w1 E* w# G3 F" S
. s' e- l/ E* l; h
Select All in Part, Assembly, or Drawing (VBA)
8 Q0 n! A: C7 k
API帮助是英文版的,想搜索都不知道用什么关键词,梁大见笑啦。  ?7 ^! T4 ~7 U0 p, p6 O* d
另,您昨天发的那个宏文件,因为我水平太差昨天晚上看了想了很久,应用应该还是能够瞎应用上了,但是还是没理解透彻,第一点就是不知道这宏(或者是所有的打开SW文档的宏)的原理是不是先把某个目录下的文件调入内存,然后去分析它的后缀名,后缀名最后三位符合您这宏文件里设定的"prt"或者"asm"时才正式在SW软件里打开文件?第二点就是,您的这个宏代码并没有指定当后缀名后三位是DRW时怎么处理,是不是后缀名后三位是DRW时SW默认不会打开这个文件而是只有在后三位符号宏文件里设定的“prt"或者"asm"时才会打开文件进行处理?
+ X0 _- f8 j0 W2 Q# f4 V8 e因为家里的电脑配置真的有点烂了,09年时买的电脑,平时用得很少,一直没升级,跑现在的版本的SW太卡,有的内容试过了,有的还没尝试试验,有啥常识性的错误请梁大谅解。明天把您这宏文件拷到公司去试验研究一天,谢谢梁大了。
发表于 2015-12-2 22:43:37 | 显示全部楼层 来自: 中国浙江嘉兴
13993359550 发表于 2015-12-2 22:102 h& [. |  ~6 K
梁大,有个问题一直想请教,不知道,您老愿意讲一下不,就这两个苦思不得其解,谢谢您了
3 g" Y% v$ \6 r8 q
怎麼發在這裡呢!太不尊重樓主了[/color]
发表于 2015-12-2 22:50:59 | 显示全部楼层 来自: 中国浙江嘉兴
NC@jiang@nan 发表于 2015-12-2 20:417 |; I6 o) R% z5 K
API帮助是英文版的,想搜索都不知道用什么关键词,梁大见笑啦。. Q( n3 Z3 I$ F# @" w, j* }
另,您昨天发的那个宏文件,因为我水平 ...

  U9 M$ t/ I( Y4 O( j' f1 ?' G, x Select Case Type_
% d) I4 h7 g; [9 a( @" Z- i$ k'開零件檔& B* j4 L- m' y; l- d& \
            Case "PRT"
# g6 r/ d' r7 r! t* o* G                Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開零件檔( C6 {; z2 _. V4 z2 g& y
'開組件檔
1 i& M  p; R$ g/ V. Y  @            Case "ASM"
  z- p$ d5 E3 t& T0 B5 x) U                Set swModel = swApp.OpenDoc6(path + sFileName, swDocASSEMBLY, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開組件檔; Q/ `# r! ^+ i  c
        End Select
" d3 b( Q0 Q# r5 C! O1 c3 b1 \" @+ Y
7 p7 B4 Z% V: `& V" D8 L% _2 @* A( }- v, P! f
是如上語句把工程圖篩選掉
发表于 2015-12-2 22:51:03 | 显示全部楼层 来自: 中国浙江嘉兴
本帖最后由 ryouss 于 2015-12-2 23:37 编辑
% D& D3 D) |: x7 H+ f
NC@jiang@nan 发表于 2015-12-2 20:416 M7 L- p5 A# v  Z
API帮助是英文版的,想搜索都不知道用什么关键词,梁大见笑啦。
; A* V% r2 i1 ?1 L! q% `  H另,您昨天发的那个宏文件,因为我水平 ...
  1.     Select Case Type_+ U; A- U9 Y* ]0 k
  2.     '開零件檔& j6 R* ?% J' {( ^: Y/ h( S% j
  3.    Case "PRT"
    6 i+ ^8 O$ H) U( V( V& q# [
  4.    Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開零件檔3 ?+ N  P6 v# D
  5.    '開組件檔
    ! s( s# m0 D( |, Q( ^- B, p
  6.    Case "ASM"9 A0 J- y8 y! }6 A- y; {0 D9 n# P
  7.    Set swModel = swApp.OpenDoc6(path + sFileName, swDocASSEMBLY, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開組件檔
    1 z7 ]( }) \( T
  8.    End Select
    1 X" W" r0 Y7 T' S/ D/ M
复制代码
# D- w$ g4 p! h, M$ X
3 I! l  v: D4 h! h) J1 o

2 D) b  x' U0 k5 f7 U$ E- p; e1. 是如上語句把工程圖篩選掉當第1項的  Type_ 取得是 工程圖  DRW  就跳出第8項., c, p% B" x% z, {. G' b- |
    若是 Type_ 取得是 零件  PRT  就跳到第4項,執行  Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開零件檔   
& e# Y' s+ ~& n9 i# G    再跳到第8項,結束選擇循環.
. i. y$ N6 D0 [' u: o# G
- A; V) U3 h2 c6 N5 T, [Select Case Type_8 |: L! a, J( B# ~: Y
           .3 X/ @; B* s" P1 `* t
          執行內容1 p) H* d1 _# N; e; \, c& t: ~
           .+ p: q4 M' w4 ~: n0 l
End Select
8 C  u. |7 T( X3 ?- r! u0 y7 G

+ c- m5 \* L" V: v- c如上是個選擇循環
5 g6 K+ k: Q  v. U, r8 I- K- f8 V/ R7 e" `: @

( P0 N- P# r5 g  N  R6 N5 t1 c$ T
2. 查有關開檔的關鍵語是   OpenDoc6
- N5 E# @  y/ }! ?% f: M+ C$ D* ?& P, x! N

' R9 w  q5 U& q' Q' H% L  x) Y+ _$ p  F! s/ h2 y
 楼主| 发表于 2015-12-3 00:41:07 | 显示全部楼层 来自: 中国广东深圳
本帖最后由 NC@jiang@nan 于 2015-12-3 01:15 编辑
) q1 j! S4 T7 K6 G
ryouss 发表于 2015-12-2 22:507 Y1 v( {7 d3 T' e) R( U  W
Select Case Type_" Q, a0 N6 q, W$ _) S2 O5 }
'開零件檔
0 k9 x/ f$ D% y, i* r4 k# ?            Case "PRT"

2 n. d1 w. {$ s梁大,从回您上个帖后,一直在研究学习您的这个宏文件,到现在终于理解一二了。把提取文件的代号和名称写入配置特定属性栏的宏集成进去了。谢谢梁大指点了。
4 U3 Z6 V  o  K! a1 a- A$ ]3 {, e, {5 T' n9 H
附上集成批量提取文件名中的代号和名称的宏文件,一方面请梁大有空时看看再指点指点哪里可以进一步改进,另一方面给有可能需要的朋友下载研究改进与使用。8 l5 Q& Z7 {5 a. \; V

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

17.07 KB, 下载次数: 28

发表于 2015-12-3 09:27:37 | 显示全部楼层 来自: 中国上海
ryouss 发表于 2015-12-2 22:43  H2 {5 J( i) T4 o! m
怎麼發在這裡呢!太不尊重樓主了

9 R1 ^% R2 @3 D$ T9 a3 X不好意思,打扰了
发表于 2015-12-3 10:51:40 | 显示全部楼层 来自: 中国浙江嘉兴
NC@jiang@nan 发表于 2015-12-3 00:41: ?% ^* K0 N# J1 S% G
梁大,从回您上个帖后,一直在研究学习您的这个宏文件,到现在终于理解一二了。把提取文件的代号和名称写 ...

9 t9 s: a. @' `& ~9 Q3 gN大真用心呀,謝謝分享!
6 Q, m5 a% ]' F: w, U4 v9 V/ i看了,有空時可以再幫做簡化.
$ f8 |$ A+ g5 H# L8 R) v: Z, c
发表于 2015-12-3 13:59:39 | 显示全部楼层 来自: 中国浙江嘉兴
本帖最后由 ryouss 于 2015-12-4 14:07 编辑 6 o& A" c( N" p3 S' P0 j6 ^

' _7 |& s! i1 ?( L4 J/ t12#的簡化參考$ j6 p% W# A$ y' p/ M; D" Y7 S* W
OpenFile_Configuration.rar (11.62 KB, 下载次数: 18)
 楼主| 发表于 2015-12-3 20:22:05 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-3 13:59
( d. H7 O! X( R1 c12#的簡化參考
* m5 h3 S% V# k0 y( z: q SWP

' Q: P) \; z* a- u- l' D% p8 \7 @谢谢梁大,* Z) j$ q1 p3 E
这才完全是我想要的宏文件了。因为我觉得开启零件和开启装配体后,要在两段打开文件代码后分别执行一段完全一模一样的宏代码,这就不是那么合理的了,不仅是调试时比较烦琐,而且在下次万一有需要更改时,也容易漏改掉两段相同代码中的某一处。
' @+ [6 ~8 @! r4 }5 l, z0 }# W没系统的学过VB VC这些东西,脑子里有构想但不知道怎么用代码编出这个宏来,梁大是彻底的帮我解惑了,谢谢梁大。

点评

客氣了,幫到忙就好!  发表于 2015-12-3 20:40
发表于 2015-12-4 14:05:27 | 显示全部楼层 来自: 中国浙江嘉兴
15#編程如下補加紅色兩句,找到  "工程圖"  不做存檔關檔之處理.
4 I4 S: ]- F+ z7 P6 ^5 J  m) {6 q2 z7 M9 Q, F0 x; q! W, L
           Case "ASM"% @+ C# }1 J/ o" k7 u. a
                Set swModel =swApp.OpenDoc6(path + sFileName, swDocASSEMBLY, swOpenDocOptions_Silent,"", nErrors, nWarnings)* _, @3 e% |2 d. N: D$ ~) z) W
                Call Configuration_ '呼叫副程式/ }& |9 {3 v, Q4 {1 ~
       End Select. {9 }# w2 C8 d& M% ]2 C5 ?0 S5 b
       If Type_ <> "DRW" Then; R8 y& }. T7 R$ `: z
       swModel.Save '存檔- I; e- x& b. F2 h
       swApp.CloseDoc swModel.GetTitle '關檔
- }2 W- {+ B/ ^" ~+ y& T- Z+ J/ z      End If
, L; {5 p2 n$ j, L, Q7 ~, _: e  v       Set swModel = Nothing
: a4 C2 u6 H* W7 B       sFileName = Dir '同路徑取出下個SW文件檔名8 I! d6 D4 y6 q$ W
   Loop" H$ [; w% L3 l' K' w! u) B
End Sub
 楼主| 发表于 2015-12-4 21:49:11 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-4 14:05
% s5 F) z  Y* l, y15#編程如下補加紅色兩句,找到  "工程圖"  不做存檔關檔之處理.
0 @  X8 q* d0 P2 J5 X. i" p1 S) @$ o, O$ ?
           Case "ASM"
+ E2 k$ n+ Y" R
梁大,可是原来的宏代码应该本身就没有开启工程图文档呀,为什么后面要再加上这一句辨别是非工程图时存档减档的代码呢?
发表于 2015-12-4 23:16:20 | 显示全部楼层 来自: 中国浙江嘉兴
難道你的文件里不存在工程圖嗎?, b3 \/ v9 R' c& {  o0 m# Q
若是的話當然執行沒問題,: X( e7 ^3 j# L7 v$ u* z" e- |
有的話,見15#,就是沒開出工程圖,但跑到第 51項 會存檔造成矛盾而出錯的- v/ Q  k) b  r8 x. t4 }) }
 楼主| 发表于 2015-12-5 20:31:02 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-4 23:16
% _0 w1 C5 X3 h: W/ ]# C" \( l, Q難道你的文件里不存在工程圖嗎?
! N* l. p: ^* h$ D5 y0 F2 c若是的話當然執行沒問題,  `; F) ~1 m3 s1 S6 i  W, A3 [
有的話,見15#,就是沒開出工程圖,但跑到第 51項  ...

- k, h4 S& e8 J* ~1 ]哦哦。
1 w, Z/ m! c& Q我试验的时候那个文件夹里没放工程图。现在试下。谢谢梁大。

点评

哈! 跟我剛試用時一樣,所以沒發現問題!  发表于 2015-12-5 20:59
 楼主| 发表于 2015-12-5 21:35:18 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-4 23:16
8 Z; `3 y: w. m9 d難道你的文件里不存在工程圖嗎?
0 y9 O5 @7 ~4 r# k, Y若是的話當然執行沒問題,- |: e5 o" ^8 [: d
有的話,見15#,就是沒開出工程圖,但跑到第 51項  ...

! \2 M& s7 E, o" h梁大,研究学习了一会,果然如您所言。4 }% m; }6 V; n  v2 @3 o% `; H
看来做宏这个东西,果然还是需要逻辑推理能力好的人才行,我就只能跟在后面慢慢学习了。
- S" w. h! I( f" k3 y& I( z$ O谢谢梁大。

点评

互相學習了  发表于 2015-12-5 21:48
发表于 2015-12-5 21:48:10 | 显示全部楼层 来自: 中国山东莱芜
梁大,求助,sw2016 提示出错,如何解决$ H! }0 ^" u  J
捕获.PNG
 楼主| 发表于 2015-12-5 21:52:18 | 显示全部楼层 来自: 中国广东深圳
luanguangtao 发表于 2015-12-5 21:48
/ @( L- ^( m0 S梁大,求助,sw2016 提示出错,如何解决

; a5 z: w. G' f: W! `你在2016里更改了引用库没有?SW各个版本的工程库文件都不一样的
 楼主| 发表于 2015-12-5 21:54:16 | 显示全部楼层 来自: 中国广东深圳
luanguangtao 发表于 2015-12-5 21:488 g% n" j: m( M/ ?" K) M
梁大,求助,sw2016 提示出错,如何解决
0 q5 ^, \" f. t/ g- [, ]
需要编辑宏,在VBA编辑界面下的“工具”菜单里点选“引用”,选你要用的运行库的版本。
发表于 2015-12-5 22:37:38 | 显示全部楼层 来自: 中国山东莱芜
但不知要选哪几项
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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