QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

[求助] 求梁大帮助指点

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

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

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

x
梁大,我现在研究SW批处理宏,想让运行宏时自动批量打开某一个文件夹下的零件和装配体文件,门外汉不知道完成这个功能的这句语句的代码应该怎么写?请求梁大指点下。谢谢。& n6 ]. T9 u& w% O& Y/ m& m8 C
 楼主| 发表于 2015-12-1 11:46:56 | 显示全部楼层 来自: 中国广东广州
@ryouss  梁大,求指点
发表于 2015-12-1 15:01:36 | 显示全部楼层 来自: 中国浙江嘉兴
NC@jiang@nan 发表于 2015-12-1 11:46& ?2 Z$ r% L% _4 r' C8 ~% R
@ryouss  梁大,求指点

+ f. [, X( e, L指點不敢,相互研習就是9 T4 D) W7 S2 `% e6 Z* a

( u) ]" F" g! @6 @如下試試, inputbox 之對話表輸入文件路徑  如 C:\TEST\     注意兩個  " \ " 符號% h9 |* r" [4 w/ ^3 ]8 L
1.jpg
7 O" b; o/ k  L: g0 D  E  G! ]  I5 M: t* A1 X1 a4 o  t
: G+ @! i& i  r  q& v3 P8 ], d
OpenFile part_asm.rar (10.23 KB, 下载次数: 39)
 楼主| 发表于 2015-12-1 16:31:22 | 显示全部楼层 来自: 中国广东广州
ryouss 发表于 2015-12-1 15:01
9 g" o. H# [* a" t) T  E指點不敢,相互研習就是, J: p; D5 [# g; V0 Z
5 Z2 l1 S$ ~0 L  k
如下試試, inputbox 之對話表輸入文件路徑  如  C:\TEST\     注意兩個  " \ " ...

: g( d9 S( I  r  {8 n谢谢梁大。
: h6 x* H1 I2 k  }# Y1 C我原来这样做的。我以为有可以在同一个语句里同时设定打开零件和装配体的办法,看来还是只能用这种先处理零件然后再处理组件的方式了。
/ g+ i. ?' A; T' k谢谢梁大指点。
发表于 2015-12-1 20:41:22 | 显示全部楼层 来自: 中国浙江嘉兴
本帖最后由 ryouss 于 2015-12-2 08:58 编辑 - O: Q) Y, h& r" B
NC@jiang@nan 发表于 2015-12-1 16:31. n: d/ ]) S/ H' g0 w3 {7 b/ U. A" F
谢谢梁大。: ]! k& L& a/ [3 T
我原来这样做的。我以为有可以在同一个语句里同时设定打开零件和装配体的办法,看来还是只能 ...

* p% j) w  I5 R/ Y指令是死的,編程是活的,% e8 `. c( l0 O7 i( F
所以編程的寫法林林總總形形色色,) x3 b; k* e5 Z, N
若是小編程尚不需計較寫法,能達結果就好," ?& s! g# X( P- s! U
大編程就要考慮許多如執行效率日後維修及易用性擴展性...5 g3 M/ K; s5 H) _- J7 K7 @$ B0 |
) A9 f: g% c3 j" {: G

; N7 y0 M- }, j- H- X' a4 @如下是另個寫法做參考,邏輯來說應該是會比2#效率好(若是開檔不多也是看不出),, d/ {( y& C. P" Y8 P+ [+ k
因只是在開檔文件路徑搜找一遍即可,2#是要搜找兩遍.6 d" u! w2 _3 a

+ R3 v5 p( d6 i" C' I+ m, c7 w( X% p 4.png 0 N" x) q! d' S! j/ c! v0 n4 n

) M7 e  n  b6 \" A0 n1 b& v# ]. p& A
9 ]  @9 }* g# l: J2 L5 n) N! L. 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
& m; V$ z# Q9 h指令是死的,編程是活的," @% L$ H" d$ u4 _* E8 p  \. J6 Q
所以編程的寫法林林總總形形色色,
' l3 ~: y4 s3 V! r7 b若是小編程尚不需計較寫法,能達結果就好,

6 G/ A& [# {, {4 {8 j' }是的,我原来想的就是这样,在路径下找一遍,碰到装配体时就打开装配体,碰到零件文件就打开零件文件,整个目录下只搜寻一遍。; o8 |& I7 R1 b
谢谢梁大指点,下载研究了。
发表于 2015-12-2 09:39:06 | 显示全部楼层 来自: 中国浙江嘉兴
如下是SW API 有關開檔的原文資料作參考* p# |: X- J" H/ u2 z2 V$ F5 K

/ k+ J) Z4 H! x  m9 ]+ h9 bSelect All in Part, Assembly, or Drawing (VBA)
- e, U2 U" ~+ f( j$ X, O7 p' s& u! v
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.
5 }2 e. n, p9 q, n' ******************************************************************************
7 z1 U& ^9 i+ S) Z7 U' Preconditions:' {* e  |  S6 `! g
' 1. Part, assembly, and drawing documents opened by the macro
& O, h& N7 W* V" g% d6 p'    exist.+ d/ M6 Z! N) X9 u8 B1 h
' 2. Open the Immediate window.
& B" l# R0 _5 u: _8 Q'
4 a6 l3 i- o2 |0 [' |" b' Postconditions:
6 a/ U' {- w1 k% D+ W' 1. Examine:
7 F3 M1 l) ]  J% ^5 F6 S7 i1 O" ]'    * Sheet to verify that all of the entities in the drawing  ?' A% b+ V" q8 V# ~$ K1 C+ I
'      are selected.
# W% [( D8 T% k1 ^& C; X'    * Immediate window to see how many entities are selected.6 [' F# e1 G: L! m; `
' 2. Click Window > bolt-assembly.sldasm to switch to the assembly4 ~; g: c0 E+ V* F* u  \" d
'    document.% A- V# [. P2 K9 i+ N
' 3. Examine:3 p; l3 n7 R+ Q; U) l  v
'    * Graphics area to verify that the all of the components
  ^8 k2 R1 p8 w7 K2 c'      in the assembly are selected.. @! e) y, ]0 F0 \1 C
'    * Immediate window to see how many components are selected.
5 ~( [' p0 @& u* {0 }) Z' 4. Click Window > bolt.sldprt to switch to the part document.
. K  Q1 h: j6 b1 Z' z' 5. Examine:
; H- e, e  h# e, m'    * Graphics area to verify that the all of the edges( V/ |4 Y2 d8 C/ p( P
'      in the part are selected.
& S; M8 a% K, X& f8 U8 |) _'    * Immediate window to see how many edges are selected.
( h& `3 |* ?6 a  H'
; N. T+ C5 b, G# u2 h' NOTE: Because these documents are used elsewhere, do not save any
7 n4 d8 \7 z  g" m' s6 w8 ^$ G' changes when closing them.; Y: H0 K6 h% {( h( c
' ******************************************************************************
- C! W, X" Z# IOption Explicit
8 B: g. X$ j8 R. j) j8 [  g5 V7 @Dim swApp As SldWorks.SldWorks
/ o' F1 y* B9 x& e# r4 G8 Q( \Dim swModel As SldWorks.ModelDoc2
) e& v  e# ~1 g) r# yDim swModelDocExt As SldWorks.ModelDocExtension+ M- w4 {% Z+ x& [( L1 o5 t
Dim swSelMgr As SldWorks.SelectionMgr
4 a! C, b$ `" |5 O, M% ~Dim partFile As String
# [, [7 `! d/ ^+ J6 V+ W1 O4 pDim assemblyFile As String
, [- d+ V2 d9 N9 _# _Dim drawingFile As String
9 r1 ^' j, j9 RDim errors As Long: R: f3 C/ d8 z! n5 U# V, }
Dim warnings As Long
* s  z* c7 q) c7 B: q& ADim selCount As Integer
6 P$ @# }$ \0 G8 D3 o  ~: @) [Sub main()
. i- W, q( l% ^: D; P; W. |6 G% r    Set swApp = Application.SldWorks
* f  T, {* l* u' \+ n, w    - T. T5 ~1 F0 B7 |
    ' Open a part document and select all edges in the part  ]" n6 y) T7 z7 M5 R; u/ P
    partFile = "C:\Program Files\SolidWorks Corp\SolidWorks\samples\introsw\bolt.sldprt"
4 T  p' i( t  U3 Q0 `' r    Set swModel = swApp.OpenDoc6(partFile, swDocPART, swOpenDocOptions_Silent, "", errors, warnings)
0 F/ \4 Y" K* v  O    Set swModelDocExt = swModel.Extension
+ B4 T) B3 L9 {* }    Set swSelMgr = swModel.SelectionManager) t2 L- L- T) C" l
    'Select all edges in part- [0 l8 F9 ~0 ^8 T
    SelectAllinDocument+ }. p5 W& [0 @: o  P1 L
   
* v  g: R; E3 ]$ I5 G* B    ' Open an assembly document and select all components in the assembly
" T) Y* p; {/ b2 _  ]* L    assemblyFile = "C:\Program Files\SolidWorks Corp\SolidWorks\samples\introsw\bolt-assembly.sldasm"
% v; L+ Y1 t( w0 r* w3 n    Set swModel = swApp.OpenDoc6(assemblyFile, swDocASSEMBLY, swOpenDocOptions_Silent, "", errors, warnings)
* c& V* d% E1 P1 F    Set swModelDocExt = swModel.Extension, m- F$ h( \/ s, s/ ?/ r& O0 j, L- f$ d$ y
    Set swSelMgr = swModel.SelectionManager
1 r  I% M- j. ]: c7 h    'Select all components in assembly8 i- J' K7 M3 c7 ^" f  b! e6 ]) r
    SelectAllinDocument
0 L7 O5 G2 b: M6 ?+ B   
% Y: C; @! I# O' Q: I8 p; A& s# O    ' Open a drawing document and select all entities in the drawing
$ X: y( u; Q7 U) ?8 w( E+ N    drawingFile = "C:\Program Files\SolidWorks Corp\SolidWorks\samples\introsw\bolt-assembly.slddrw"
+ [7 q7 @( @+ R5 k$ V& I    Set swModel = swApp.OpenDoc6(drawingFile, swDocDRAWING, swOpenDocOptions_Silent, "", errors, warnings)
  D" A( L. Z7 ]& d# {7 k. e8 \2 y3 \    Set swModelDocExt = swModel.Extension( ?6 @) s% W: K  A# H( k
    Set swSelMgr = swModel.SelectionManager: F( ~7 t  O: |7 U
    'Select all entities in drawing
  r+ g- n( ~, H5 C. X    SelectAllinDocument
, p6 P) r7 P. Z$ t1 G" B  W   
& A# c7 u) |1 L8 ^2 w9 N) ^  \: s" GEnd Sub: @( ~( m, z5 C! H- A0 P
Sub SelectAllinDocument()
% k# {$ q& b) k, s' c    ' Select all edges in a part, all components in an assembly,
9 w& G3 V$ \& K* u    ' or all entities in a drawing6 w; a, ~# [" ]
     swModelDocExt.SelectAll    , H' v1 N# v; v. b) m0 C' x* ^( s4 S
    ' Get and print the number of selections8 G( D8 C* x/ c) C& i+ ~
    selCount = 0
( R( Q4 V2 Y: b8 o    selCount = swSelMgr.GetSelectedObjectCount2(-1)    4 p! I4 `5 P5 W$ J* K
    Select Case swModel.GetType
, d/ |! X+ D' j- d% Y    Case swDocPART) z" [1 ~; f( o) w$ P  ~
        Debug.Print "Number of edges selected in part          = " & selCount$ T2 u) @/ F9 F
    Case swDocASSEMBLY/ b% H; m: a2 A
        Debug.Print "Number of components selected in assembly = " & selCount
, j+ y. d2 A) `' M1 r    Case swDocDRAWING
# L% H. {1 e: _. Z        Debug.Print "Number of entities selected in drawing    = " & selCount
; }: ^( n9 t7 p( E+ x# f! q+ Y2 U    Case Else
* Y3 p1 v& x9 m: }6 U' ^' a  o        Debug.Print "Unknown type of document."! O' B( d9 r" B" a+ g
    End Select: {7 T/ [& G* Q
   
* {' [- j$ I& m6 ^+ W, iEnd Sub) a- A3 |* Y. f$ t
 楼主| 发表于 2015-12-2 20:41:01 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-2 09:39; K) m9 Q8 \2 v; r
如下是SW API 有關開檔的原文資料作參考
. ~  \* O; f5 h
! j: t' x7 U8 C& kSelect All in Part, Assembly, or Drawing (VBA)
' q; z; ~; ?" p: b
API帮助是英文版的,想搜索都不知道用什么关键词,梁大见笑啦。- y' k) L/ k+ t* G
另,您昨天发的那个宏文件,因为我水平太差昨天晚上看了想了很久,应用应该还是能够瞎应用上了,但是还是没理解透彻,第一点就是不知道这宏(或者是所有的打开SW文档的宏)的原理是不是先把某个目录下的文件调入内存,然后去分析它的后缀名,后缀名最后三位符合您这宏文件里设定的"prt"或者"asm"时才正式在SW软件里打开文件?第二点就是,您的这个宏代码并没有指定当后缀名后三位是DRW时怎么处理,是不是后缀名后三位是DRW时SW默认不会打开这个文件而是只有在后三位符号宏文件里设定的“prt"或者"asm"时才会打开文件进行处理?
3 S8 d) b& w+ ]/ Y$ }; w6 s因为家里的电脑配置真的有点烂了,09年时买的电脑,平时用得很少,一直没升级,跑现在的版本的SW太卡,有的内容试过了,有的还没尝试试验,有啥常识性的错误请梁大谅解。明天把您这宏文件拷到公司去试验研究一天,谢谢梁大了。
发表于 2015-12-2 22:43:37 | 显示全部楼层 来自: 中国浙江嘉兴
13993359550 发表于 2015-12-2 22:101 U6 Z+ N8 A# {& D3 D
梁大,有个问题一直想请教,不知道,您老愿意讲一下不,就这两个苦思不得其解,谢谢您了
8 s) e4 l- Y" X
怎麼發在這裡呢!太不尊重樓主了[/color]
发表于 2015-12-2 22:50:59 | 显示全部楼层 来自: 中国浙江嘉兴
NC@jiang@nan 发表于 2015-12-2 20:41
5 f& b) V0 E& Z0 }API帮助是英文版的,想搜索都不知道用什么关键词,梁大见笑啦。
5 m- v5 M" e% x1 x/ O另,您昨天发的那个宏文件,因为我水平 ...
: y# r$ G8 D2 e4 ]4 `! z8 w- d. z
Select Case Type_
: s  w) c7 R4 I, b+ w) x: F0 _3 p: O'開零件檔; j% k0 G( p. x$ O( d
            Case "PRT"+ g$ s  \, R2 \" w
                Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開零件檔+ B' m( h, x* u. V
'開組件檔
. g' z# J' C- J# ^3 k9 v            Case "ASM"
* r" d+ m# q! p0 D$ y! k; n9 d                Set swModel = swApp.OpenDoc6(path + sFileName, swDocASSEMBLY, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開組件檔* s* Z3 F& P! R7 }
        End Select
$ v7 O. l7 W- j% H+ ^. W: J  t* H7 s5 [+ r
  \, v' }6 [: y- n' s
是如上語句把工程圖篩選掉
发表于 2015-12-2 22:51:03 | 显示全部楼层 来自: 中国浙江嘉兴
本帖最后由 ryouss 于 2015-12-2 23:37 编辑 ) L7 @1 \. Q( E( y4 ~: ^  O9 ^
NC@jiang@nan 发表于 2015-12-2 20:415 ^8 s4 J- V: p, Z2 H* _
API帮助是英文版的,想搜索都不知道用什么关键词,梁大见笑啦。
# d# f: [7 g( E- \2 s! j5 P' [# f' p& @另,您昨天发的那个宏文件,因为我水平 ...
  1.     Select Case Type_9 E6 P3 v* {; f! w( A3 [
  2.     '開零件檔
    6 g: ~3 _! F$ C! {/ [. r: O3 f; y
  3.    Case "PRT"
    9 R4 r) X) N: L4 a7 n# B" ~$ |% t
  4.    Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開零件檔
    ! Z' k! W  _1 [& ]* K. r& L
  5.    '開組件檔, Z# A# h3 I; {6 U2 S# C. t( C
  6.    Case "ASM"5 p  B# ~  _4 W
  7.    Set swModel = swApp.OpenDoc6(path + sFileName, swDocASSEMBLY, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開組件檔. {1 G( b( Z, o" p9 X
  8.    End Select6 \! m2 \) q3 t( d/ ^/ P7 h& m, J
复制代码
, S" u1 n7 F- o5 `3 j8 ?9 L
1 X$ p6 j) ]$ {) U

( _  H( P& L0 n1 ]# ~4 L) D! i8 S1. 是如上語句把工程圖篩選掉當第1項的  Type_ 取得是 工程圖  DRW  就跳出第8項.3 Z- @( |5 C5 e- X2 U6 j
    若是 Type_ 取得是 零件  PRT  就跳到第4項,執行  Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '開零件檔    . }: `" [4 e( |* X. B
    再跳到第8項,結束選擇循環.
( ?/ m" `/ ?" f. u0 {
, u+ @& J$ ], C; q$ F9 c0 _5 HSelect Case Type_* k/ j% T. z2 G5 h. _
           .% g7 Q  p% ~0 \! ~2 }
          執行內容& P7 W6 {' M; ~8 u( j
           .# n% T1 v; N' q+ i# W
End Select3 t. z3 |$ k1 U5 x$ j; b, F7 e4 a1 o

; b0 Q( O$ _! B5 W如上是個選擇循環3 G* b* A! T7 @6 U, G) t

+ J4 L4 f& Y9 _8 d! n! q# Z
7 m  i( I( Q# R# d  V% a7 u

# ~" m' b' N# @- l7 l( Q; J2. 查有關開檔的關鍵語是   OpenDoc6
% `) p5 }' g0 k4 C+ H+ i* H
* ?& g4 ]" v9 D) ]8 p5 r! O- X( a) W
2 k  E+ C6 `. J1 f
 楼主| 发表于 2015-12-3 00:41:07 | 显示全部楼层 来自: 中国广东深圳
本帖最后由 NC@jiang@nan 于 2015-12-3 01:15 编辑
7 }$ t0 M% H5 l! |4 |7 P! ?: N. f1 z
ryouss 发表于 2015-12-2 22:50& \9 s' w% l- l9 f0 ]6 r2 @9 c
Select Case Type_$ F4 i% m3 u; P
'開零件檔
0 t& D3 C: [2 g            Case "PRT"

: y: k; N) B$ r% ^( e5 T3 h7 N梁大,从回您上个帖后,一直在研究学习您的这个宏文件,到现在终于理解一二了。把提取文件的代号和名称写入配置特定属性栏的宏集成进去了。谢谢梁大指点了。, h, _% Z6 \- O7 W9 n- g

1 ?7 Z& y7 L  O/ [9 p附上集成批量提取文件名中的代号和名称的宏文件,一方面请梁大有空时看看再指点指点哪里可以进一步改进,另一方面给有可能需要的朋友下载研究改进与使用。
% G' W6 _" D# O! f% X4 d9 ^

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

17.07 KB, 下载次数: 28

发表于 2015-12-3 09:27:37 | 显示全部楼层 来自: 中国上海
ryouss 发表于 2015-12-2 22:43
$ Z" R  h3 B' B: t' W/ `/ y$ l4 A怎麼發在這裡呢!太不尊重樓主了

+ a1 B$ d" n" y% \不好意思,打扰了
发表于 2015-12-3 10:51:40 | 显示全部楼层 来自: 中国浙江嘉兴
NC@jiang@nan 发表于 2015-12-3 00:413 K  `, Y6 r2 Y# j* h' y
梁大,从回您上个帖后,一直在研究学习您的这个宏文件,到现在终于理解一二了。把提取文件的代号和名称写 ...
7 V" U5 R0 V& k) ]6 Y
N大真用心呀,謝謝分享!
& T+ m8 E, h8 F0 a0 z看了,有空時可以再幫做簡化.
/ e5 D. Y, ~& _' h8 p1 L
发表于 2015-12-3 13:59:39 | 显示全部楼层 来自: 中国浙江嘉兴
本帖最后由 ryouss 于 2015-12-4 14:07 编辑 1 @! b8 w$ r4 K/ {: i5 `

3 g# m* j& V3 @$ g- |12#的簡化參考5 f$ O9 c5 G+ w; n# x: `! G
OpenFile_Configuration.rar (11.62 KB, 下载次数: 18)
 楼主| 发表于 2015-12-3 20:22:05 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-3 13:59: T# t( C' E2 b8 K
12#的簡化參考
' q- M% B! p% R6 ? SWP
$ Y# y. o9 `$ T
谢谢梁大,
* R9 Q) S# ~1 F' V# J这才完全是我想要的宏文件了。因为我觉得开启零件和开启装配体后,要在两段打开文件代码后分别执行一段完全一模一样的宏代码,这就不是那么合理的了,不仅是调试时比较烦琐,而且在下次万一有需要更改时,也容易漏改掉两段相同代码中的某一处。! R) U# w$ O3 ]3 B, K. M. b
没系统的学过VB VC这些东西,脑子里有构想但不知道怎么用代码编出这个宏来,梁大是彻底的帮我解惑了,谢谢梁大。

点评

客氣了,幫到忙就好!  发表于 2015-12-3 20:40
发表于 2015-12-4 14:05:27 | 显示全部楼层 来自: 中国浙江嘉兴
15#編程如下補加紅色兩句,找到  "工程圖"  不做存檔關檔之處理.
9 t+ A0 R% B% m- |0 E7 y- ?& _, Q
  T/ F* v5 H: s/ F2 Z3 D           Case "ASM") q1 y; B' M- h5 ^
                Set swModel =swApp.OpenDoc6(path + sFileName, swDocASSEMBLY, swOpenDocOptions_Silent,"", nErrors, nWarnings)8 `8 h6 U8 U. k' x5 X" h
                Call Configuration_ '呼叫副程式
7 u) U1 u0 ^: r5 F6 }+ o       End Select
  ^0 q% z' u9 Z( b) U       If Type_ <> "DRW" Then
7 [$ D7 G' T3 u4 l: u       swModel.Save '存檔0 \1 Z/ {& S- }7 [6 A; Z
       swApp.CloseDoc swModel.GetTitle '關檔
( ~! M- V( g: }8 t      End If3 j6 I$ h& [/ `% H6 {  @
       Set swModel = Nothing
5 e9 c) h# [8 `7 ?9 X9 b4 C( w       sFileName = Dir '同路徑取出下個SW文件檔名
/ c$ s- o5 M* a! n) v; ^   Loop  A* w; _$ \# Q* E! K1 A  T6 \% M
End Sub
 楼主| 发表于 2015-12-4 21:49:11 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-4 14:05) ?3 q8 Y# g$ {! ?' F$ |) Z8 d
15#編程如下補加紅色兩句,找到  "工程圖"  不做存檔關檔之處理.
* y" W! z4 k6 O* F0 u5 l- o$ h9 P. h) w" E, E4 ]4 o  _- X
           Case "ASM"

) c; O3 k5 ~. ^. \# {- k梁大,可是原来的宏代码应该本身就没有开启工程图文档呀,为什么后面要再加上这一句辨别是非工程图时存档减档的代码呢?
发表于 2015-12-4 23:16:20 | 显示全部楼层 来自: 中国浙江嘉兴
難道你的文件里不存在工程圖嗎?
" v; n, H, o1 y6 ?8 |1 a4 B若是的話當然執行沒問題,/ r6 Y3 q4 I: O# A% V2 g  A
有的話,見15#,就是沒開出工程圖,但跑到第 51項 會存檔造成矛盾而出錯的
! k, D( e0 U. q+ `' ]" }. ~1 O
 楼主| 发表于 2015-12-5 20:31:02 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-4 23:162 ~( e: d2 |1 J1 J% O- U& s5 w
難道你的文件里不存在工程圖嗎?
# S3 v2 \3 z4 d( R% n若是的話當然執行沒問題,4 ~- j* }$ {' l4 S$ u, e6 e
有的話,見15#,就是沒開出工程圖,但跑到第 51項  ...
5 w* r/ v- C/ S6 d2 Q9 W& j
哦哦。9 h* [/ u" A; I
我试验的时候那个文件夹里没放工程图。现在试下。谢谢梁大。

点评

哈! 跟我剛試用時一樣,所以沒發現問題!  发表于 2015-12-5 20:59
 楼主| 发表于 2015-12-5 21:35:18 | 显示全部楼层 来自: 中国广东深圳
ryouss 发表于 2015-12-4 23:165 Q7 P8 z% c! T: M4 |
難道你的文件里不存在工程圖嗎?% U- K' q! n- R. }4 s$ g
若是的話當然執行沒問題,6 k. K7 Y. _6 F: W
有的話,見15#,就是沒開出工程圖,但跑到第 51項  ...

1 I" M% Z  a4 b* \9 i- `; s梁大,研究学习了一会,果然如您所言。. `2 n  X/ s1 |& u: J
看来做宏这个东西,果然还是需要逻辑推理能力好的人才行,我就只能跟在后面慢慢学习了。
0 Y, _" [* L6 A2 l( V( @谢谢梁大。

点评

互相學習了  发表于 2015-12-5 21:48
发表于 2015-12-5 21:48:10 | 显示全部楼层 来自: 中国山东莱芜
梁大,求助,sw2016 提示出错,如何解决
4 ?1 ~5 A" m; p
捕获.PNG
 楼主| 发表于 2015-12-5 21:52:18 | 显示全部楼层 来自: 中国广东深圳
luanguangtao 发表于 2015-12-5 21:487 Z4 y; `. U2 P
梁大,求助,sw2016 提示出错,如何解决
5 O% C" i) S7 x$ O+ {+ d
你在2016里更改了引用库没有?SW各个版本的工程库文件都不一样的
 楼主| 发表于 2015-12-5 21:54:16 | 显示全部楼层 来自: 中国广东深圳
luanguangtao 发表于 2015-12-5 21:48; L- r/ H( z% ?# E' G5 K
梁大,求助,sw2016 提示出错,如何解决

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

本版积分规则


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

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

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