QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
10天前
楼主: lhl2008
收起左侧

[原创] 批量输出文件自定义属性及缩略图到Excel

[复制链接]
发表于 2017-8-3 14:20:00 | 显示全部楼层 来自: 中国江苏
本帖最后由 ProeSky 于 2017-8-3 15:00 编辑
8 @: y1 c2 u2 E) E5 H& O) y  k$ X( G
9 Y6 D  |9 `. R  ~* A# V" {" `' B配置:* ]1 n. s  Q3 V8 u
solidworks 2012   +  win7 64  +  32位office
! }( }, H8 g3 E$ J, k1 h( y5 }宏拿过和与预想的一样     直接无法用     要么EXCEL 直接空白
5 s8 a& I: t+ k6 f2 _5 k
$ W+ R6 Z) x) S$ t: F# r* t+ S& L
调试之前 注释掉 容错语句   on error resume next   
1 B# l! q3 J; Q6 D8 t
) T( l# F  a" W  c1 o$ J7 {% `问题:
% }  ?$ V4 o4 i4 X          1.工程引用要改
8 G, S8 l; s* @2 V
9 z. c# R7 i1 \+ L( w" @! Z* c          2.去掉 PtrSafe  (见图片 PtrSafe,对照楼主源代码)    ,不去掉的话 那段代码直接  亮红; E/ F3 [; L7 u( J, D# I

& q6 b( v5 C" L2 p; k         3.类型声明符与声明对象不符,,改改改  在left 前加  VBA. (见图片 VBA)
6 T5 D4 m4 v9 O% ~/ R2 g+ h
8 v! w2 L2 Q0 r, q3 i  c: G+ x) J* i3 ~, j
结果:
1 U% b# x, L* ]
3 X/ _8 |  v* h" }, V9 Z9 Y6 \* b       1. 缩略图的错误(见图片报错)没搞定     直接先屏蔽掉     去找资料或坛里高人指点: r9 N+ d% G: f3 U# k9 H4 h
; m' w4 A9 V8 j' [/ d; ~
       2.可以顺利生成不带图的bom(见图bom表) ) ~3 W. [: j$ u, W

6 A' u7 q3 z; I/ G" e' s5 _$ m* [. ~6 p4 G$ f( T6 O+ J+ d3 U/ T

2 s# d+ N. P- }$ }. ?' B9 W4 v7 [+ v; d; D# y2 E- B$ S# o4 D

ptrsafe

ptrsafe

VBA

VBA

报错

报错

BOM表

BOM表
 楼主| 发表于 2017-8-3 17:45:51 | 显示全部楼层 来自: 中国陕西西安
ProeSky 发表于 2017-8-3 14:20( V) R  H/ Q  l- b3 ^
配置:! i7 [7 a4 }% Q
solidworks 2012   +  win7 64  +  32位office
  e" `  q! J$ T宏拿过和与预想的一样     直接无法用     要么EXC ...
) `5 \4 v1 O5 S. G$ K
solidworks2017的VBA是6.0,solidworks2013以后为7.0,程序需要做一些调整
发表于 2017-8-3 20:11:08 | 显示全部楼层 来自: 中国湖北武汉
果如楼主所说2013以后版本上使用效果不错!
发表于 2017-8-4 08:09:02 | 显示全部楼层 来自: 中国江苏
本帖最后由 ProeSky 于 2017-8-5 14:59 编辑 7 y& Q7 _4 q1 W8 f
lhl2008 发表于 2017-8-3 17:45% Y" ^2 _2 U9 Z% O5 {* l( L/ j
solidworks2017的VBA是6.0,solidworks2013以后为7.0,程序需要做一些调整

% g' D, g* w/ ]7 U) p: \7 G# K* n; T- S: C5 ?7 A9 Z

7 D/ w  W! M: W! Q/ }8 [% n; yVBA确实不方便   
7 N% Q! J$ E5 x/ D% t/ t  h  @
发表于 2017-8-4 11:08:37 | 显示全部楼层 来自: 中国江苏
本帖最后由 ProeSky 于 2017-8-4 11:11 编辑 : V. W' Y  r7 k" ~

* s9 j; s5 T- a* n( ~* J想知道 楼主   顺利提取出图片   是怎样的配置 ( h5 s- Y- s4 v- M& S9 c
' P) I7 ~  z9 u$ _
问过别人  GetPreviewBitmap  好像64位用不了
5 v# H) s* p' f- \; n1 p1 t! \/ o# g# h2 X* O
要我用内存截图 法% E8 u7 s3 E& I+ d( U( E

7 ?' y$ Y- b: q6 n
6 r3 L( \# @3 N
  A; w/ S0 n! X2 F* j" p
7 W% x) Y; V/ b% y( K5 w" m- F# E3 X* K# L& o( r, P
wen.jpg
发表于 2017-8-4 11:46:42 | 显示全部楼层 来自: 中国广东佛山
ProeSky 发表于 2017-8-4 11:08. Q2 [# h/ _" K6 s  f+ B/ ?
想知道 楼主   顺利提取出图片   是怎样的配置 * _' ?1 n( J- D0 B
; D8 t* F5 t+ G+ c! F! R
问过别人  GetPreviewBitmap  好像64位用不了
; l9 R( Q/ H  O$ l/ I% j$ L0 L) W
大大问的高人,应该不清楚COM为何物!
发表于 2017-8-4 12:53:00 | 显示全部楼层 来自: 中国江苏
本帖最后由 ProeSky 于 2017-8-4 13:20 编辑
/ i8 G7 L* z4 v  t3 g
bash 发表于 2017-8-4 11:464 u' q' I: x+ Q3 R! d6 Z
大大问的高人,应该不清楚COM为何物!
& G) r; K9 M1 D1 ?
" c* R6 p) _5 L
都不是专业的   思路可能不同  不到不得已 不打算用他的方法  有难度     不过那种方法 图片效果不错
: c+ C2 p8 m. f0 n" [* t& Y, J+ v6 j# f2 I
别卖关子了   有解决方法吗
+ k' V9 u8 N/ e/ e4 J+ W- y
5 ^4 [" v6 m- G' [. g6 P; C$ A- b+ ^$ _' q% B$ ^, ^  D! R
发表于 2017-8-5 14:39:44 | 显示全部楼层 来自: 中国江苏
本帖最后由 ProeSky 于 2017-8-5 14:49 编辑 : ^" l. K- Z2 j, X' `+ f% J
8 K0 [4 I1 ^$ {4 B$ P0 ^
曲线救国 选了一种取巧的方法 哈哈哈 1 ]1 E: C& U" `4 E) C
- s- _5 z( v% i7 }
  p. Y) a7 o4 t( `1 {
吐槽一下  SWDM-API
* `6 @+ w) F  m9 P) B
2 d0 T- w. w) Y/ l; n& Z6 l' |& \, \
程序还要调一下 (以后再说头大)主要是图片显示大小问题3 l  J+ Y5 J' s" j- t; g
% x0 K3 h( U9 ]
; T. g. a+ V1 o% W" ?

( ~- Z  |: |8 {* ^, u: ^/ ?
$ i6 ]) ~# q2 v3 g4 F- V1 z" T
曲线救国.jpg
 楼主| 发表于 2017-8-5 18:26:26 | 显示全部楼层 来自: 中国陕西西安
ProeSky 发表于 2017-8-4 11:08* v5 J& Z2 b. E0 k, z7 U
想知道 楼主   顺利提取出图片   是怎样的配置
* g5 f' ~9 y$ ~. a) B3 w
2 c6 o: U+ n! q问过别人  GetPreviewBitmap  好像64位用不了
8 |; d$ |3 Y+ X' `# z% l2 ~
在低版本中用GetPreviewBitmap提取图片没问题,我以前在SW2012用过,现在手头没有低版本,无法验证!
 楼主| 发表于 2017-8-5 22:27:24 | 显示全部楼层 来自: 中国陕西西安
打开装配体,批量输出零部件属性及缩略图& g8 }8 n* ]: J1 i% K
(也可称之为零部件明细表统计)4 n( ~  u: N9 |

/ P) d4 _' k9 a; O '说明: 该宏可以批量输出打开的装配体中所有零部件属性及缩略图到excel文件中, q. L2 {! z( E; `8 E+ f
''前提条件: 1.当前所打开的文档必须是装配体;* U) B5 P3 H9 B  L0 }5 f" W
'
( V- `6 E9 b& A4 y8 U4 x6 y: u2 E$ ^ ''           2.运行该程序前要将装配体中的轻化零部件全部进行还原,否则对轻化的零部件不进行统计;9 t$ x/ [) W! V, l- o
'
- r/ j7 i8 L4 L ''           3.每个零部件的文档属性中必须要包含要提取的属性名称
. U* T6 S$ J1 o$ F) h$ C! [4 m '- D; Z1 T, K7 r0 e3 j7 {
'最后结果: 该宏将批量输出打开的solidworks装配体所有零部件中所包含的零部件质量,密度,数量,所属装配号
6 P- A7 x# R9 f1 P# T '3 W; c4 X8 W. {, i1 J0 A8 |
'          以及自定义属性和配置属性及缩略图到excel文件中并存储到桌面上。
: u4 ?  f3 R# f, [) c '
  _: k4 `! `) @' I5 c. f- F$ a7 }4 ^1 M '特点:
5 c$ S5 h4 N& Y1 \: K '   1.该宏可同时输出零部件自定义属性以及配置属性
& E' H9 K+ R, O0 N& M '& l; [/ j8 ?* r! X9 {
'   2.该宏可统计输出零部件总数量以及总重
& T" a8 S3 p) Y- x6 b. i '
: d2 B8 O3 H% N$ A! D* J '   3.该宏可统计输出零部件所属装配代号& t% n3 O) I  ~* a) }% H" ~
'
% a3 H  m2 y; R7 H. L '   4.该宏可输出所有零部件缩略图9 b7 l! U, p! \
'
& I/ o/ h; V1 Q( d$ q% k '   5.对于封套,Bom排除零部件,既可以统计进去,也可排除
% D+ V# n* Y2 R4 A4 T '# k* T) O/ F7 D/ |8 U
'作者:lhl,2017.08.05
2 \& v+ Z( Z" z) n$ O '
! U9 w. J; C! A( e+ ?# I% I. s '版本:V1.0; X; |" Q4 ~8 U
 楼主| 发表于 2017-8-5 22:28:01 | 显示全部楼层 来自: 中国陕西西安
2017-08-05_22-20-55.jpg
" Q$ G1 e& F+ L  k2 ]- N 2017-08-05_22-22-05.jpg
4 A- @5 z) }6 m$ q4 P( D
发表于 2017-8-6 08:49:36 | 显示全部楼层 来自: 中国香港
谢谢专家,提供如此强大工具,坛友们有福了。
/ K6 _4 ]* Q8 o1 @1 d
1 p. [& a' h; M2 S之前俺都是利用Excel内建工具插入图片和调整尺寸,
  P" t6 p3 D. R$ g9 Y有了这工具就可以大大简化操作了,效率估计提高起码十倍。& f) y) ]8 Q' ~( b9 h  g

, d: P/ y* H7 H4 }+ z) v( `& I; X% m/ v因审美观因人而异,涂彩缩图未能兼顾每个人的口味,2 C4 F: P" t) C: f, r) {* d9 k8 @& |
后来俺都是使用黑白(仅看的到模型边线)缩图来解决的。
! X1 M9 I$ U: B- e* w/ j看看可否加上黑白缩图(如附图)的功能?(可能俺太贪心了吧) 捕获.PNG
, }8 |" u# f4 p5 n  |8 Q  G; c) n
发表于 2017-8-6 09:46:58 | 显示全部楼层 来自: 中国广东肇庆
# ?3 y2 H5 V! B! Y- f+ }
lhl2008大师,这个是最新版本吗?
 楼主| 发表于 2017-8-6 09:54:15 | 显示全部楼层 来自: 中国陕西西安
谢谢鹿兄关注,生成线框缩略图是可以的,但这个不是SW文件中保存的,必须要另外保存成线框图片,这个应该不是难点。也许,鹿兄有更好的招法!
: ?* W! [6 b/ h7 j( w6 S+ ?2 ?
发表于 2017-8-6 11:19:42 | 显示全部楼层 来自: 中国浙江嘉兴
是否如55#所提供的信息 64位元 無法享用,# W' O4 ^& |% j
* E6 [( `% J+ Y# f* A) G( Z
而執行成功的都是 32位元 嗎?
 楼主| 发表于 2017-8-6 11:29:48 | 显示全部楼层 来自: 中国陕西西安
ryouss 发表于 2017-8-6 11:19
/ d: q" P; N# r& {9 S! x是否如55#所提供的信息 64位元 無法享用,/ ^) U7 v8 B7 ~' q( ~! t

& m7 W2 L+ t, T% D1 @4 ^2 G( _6 @% p而執行成功的都是 32位元 嗎?
. z4 g+ x% l) d. {5 _; x: r7 F
我的机子配置:# Q) |( t* p! Y4 I
windows10,64位# {6 k* f# G1 R9 Q) n
Solidworks2017
" l5 o* _5 F% E( m5 ]Excel2016
发表于 2017-8-6 11:37:30 | 显示全部楼层 来自: 中国浙江嘉兴
見鬼一直沒試出/ p: y( a, v' V! B

( a6 T) ?8 H( b. |& }我是, j3 |3 S. u; [' {7 {3 T
win7,64位元. O! e9 X' N+ q# o
solidworks2012,2017/ k2 g( m$ |5 N* g" V0 O" ]
Excel 2010
发表于 2017-8-6 12:15:17 | 显示全部楼层 来自: 中国浙江嘉兴
進入 main 用逐步執行的話,如附图所示然後就自動關掉SW了.- t$ N8 ]! u, p

9 Y2 M: x; W0 g, o) X+ a 10.png : S1 A1 e/ e" z* Y' d5 h7 o
 楼主| 发表于 2017-8-6 14:30:18 | 显示全部楼层 来自: 中国陕西西安
本帖最后由 lhl2008 于 2017-8-6 14:35 编辑 ( W0 F3 R" U) F. \; o
ryouss 发表于 2017-8-6 12:15
0 I0 G/ `$ r2 i, Q進入 main 用逐步執行的話,如附图所示然後就自動關掉SW了.
5 K' N' u0 i* @4 [* H2 B6 p
浏览文件夹的过程你可以另换一个试试
发表于 2017-8-6 14:59:02 | 显示全部楼层 来自: 中国浙江嘉兴
lhl2008 发表于 2017-8-6 14:307 \6 r; K' R4 @
浏览文件夹的过程你可以另换一个试试
% }) q& v  W$ s+ _0 n# i7 F: M
改了沒用& B, F. w" d0 D. F# K3 ^

. o2 I& q) {3 C. |, ^另請教如下是正確的嗎?
( u! M  n' d  h/ z, i& n
+ `! u! \' y- X; ~) c$ I, h 11.png 9 h% N$ U6 P' Y* K& H& q0 x( `

3 L" S) f" i, }( w7 R! S7 A
 楼主| 发表于 2017-8-6 21:46:40 | 显示全部楼层 来自: 中国陕西西安
大鹿 发表于 2017-8-6 08:49, S6 C* j9 f( F1 H; @- i
谢谢专家,提供如此强大工具,坛友们有福了。
2 A7 X" |1 T: t2 z) n( s& K" \
! f% V/ M* w1 ?5 J之前俺都是利用Excel内建工具插入图片和调整尺寸,

/ \; a2 O4 Q% s0 S& b做出了与鹿兄一样的线框缩略图,效果还不太好,还需改进
) D: B% W% _) y% P3 |  B 2017-08-06_21-38-09.jpg 2017-08-06_21-37-24.jpg
3 \1 v) T* g, M* l9 i( K$ D0 Q" X
发表于 2017-8-7 09:18:50 | 显示全部楼层 来自: 中国广东佛山
本帖最后由 bash 于 2017-8-7 09:42 编辑
0 D. C+ I/ O, X) \, g
lhl2008 发表于 2017-8-6 21:46! i! t9 v" _+ o$ k. w: L1 K3 O
做出了与鹿兄一样的线框缩略图,效果还不太好,还需改进
8 b6 m& G( g) C( s2 M
楼主在插入图片后,可以用. U, @! v" {! _! A$ c0 k8 h
- s8 ~8 c2 I. V: `
PictureFormat.ColorType = msoPictureBlackAndWhite# ^9 ^9 W. S/ L  e' Z( [
7 y6 v9 g0 w; Y  d4 O
试试! a/ M. M" o* o) G# `* d
如果图片是SW里面直接保存出来的话,可以用PNG格式,并且,要求用户自己在SW设置里面打勾“移除背景”9 u; y9 f1 d! L3 x, X7 `* ~$ J

* T% o4 u9 g8 {( a8 ?4 p3 H
8 m' }0 y8 S6 w% m/ s- I1 y7 ^
 楼主| 发表于 2017-8-7 11:45:29 | 显示全部楼层 来自: 中国陕西西安
bash 发表于 2017-8-7 09:18  H* w: |2 m7 r( V3 h& [9 B
楼主在插入图片后,可以用8 S2 J, [& C- b. [) G: G# g" @
2 Z3 M/ k6 R) y3 |  q! Y
PictureFormat.ColorType = msoPictureBlackAndWhite
% D2 g( i8 Z( B/ E/ X* {/ L
谢谢bash兄指导,我试试!
发表于 2017-8-8 16:25:30 | 显示全部楼层 来自: 中国香港
惊见某论坛出现的动画
7 P' |# Z( ]7 n/ q5 H2 x0 u commentpreview.gif
发表于 2017-8-8 19:26:20 | 显示全部楼层 来自: 中国广东揭阳
SW2016 发表于 2017-7-29 16:28
* P2 a5 p1 N( X" k3 x多谢分享!
' r3 }7 U; h5 X& ~' v7 R' @' f我在SW中点工具〉宏 〉运行,却没有反应,是Excel的版本不对吗?
5 G  d* h4 ], q# \: z' T
我也是这情况,希望能解决
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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