QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
2天前
全站
goto3d 说: 版主微信号:caivin811031;还未入三维微信群的小伙伴,速度加
2022-07-04
楼主: lhl2008
收起左侧

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

[复制链接]
发表于 2017-8-3 14:20:00 | 显示全部楼层
本帖最后由 ProeSky 于 2017-8-3 15:00 编辑 6 ?9 h+ T/ c) O5 d9 _
) f$ T" H& y: c2 P
配置:  c0 ~2 l& _9 C  L
solidworks 2012   +  win7 64  +  32位office5 A1 [2 t3 W! _1 A5 Z$ b. Y+ `
宏拿过和与预想的一样     直接无法用     要么EXCEL 直接空白
% j- _  R: K( y8 `6 i/ ]' K: {, t

) Q+ Z% H9 v5 ]8 R, ~调试之前 注释掉 容错语句   on error resume next    * N$ K- v# O. ?' Z! j

& j8 d$ R4 r: p1 S4 p) d问题:
( k, {- m6 q; P& y: E# R- B          1.工程引用要改
2 X& l7 P  t8 q$ [! q$ O- [! o+ K2 V! k$ i+ ~, [( M
          2.去掉 PtrSafe  (见图片 PtrSafe,对照楼主源代码)    ,不去掉的话 那段代码直接  亮红
0 Q$ ~) e. ?0 P# z6 F
/ P6 e/ O' J) m, U/ [6 r         3.类型声明符与声明对象不符,,改改改  在left 前加  VBA. (见图片 VBA)- z/ E  P1 f/ t+ z# C1 {

; Q8 K( n0 x: D* F2 E7 `
8 e1 n0 f5 F5 ]6 L9 Q: n# x5 p结果:
6 Z: @) B$ X: e! [1 n9 t9 ~
+ v! g2 Q  f4 ]9 k5 n  ?       1. 缩略图的错误(见图片报错)没搞定     直接先屏蔽掉     去找资料或坛里高人指点) [' w8 G3 ^4 X! j$ z  U! M
* U& ]6 C( E/ O% F9 z& U2 a7 _
       2.可以顺利生成不带图的bom(见图bom表) $ {0 ^$ {* Y8 z7 n
5 L/ ~( u1 O0 Y9 g# n! X
% V0 H/ n9 S/ P1 l) T

( X! A4 t$ e. f& U4 ~# ?9 P1 ?$ n7 E- L/ I/ k1 }7 J. p

ptrsafe

ptrsafe

VBA

VBA

报错

报错

BOM表

BOM表
 楼主| 发表于 2017-8-3 17:45:51 | 显示全部楼层
ProeSky 发表于 2017-8-3 14:20
3 C6 @# ~9 Q2 S配置:
& ^0 f& V$ c; G- q6 @: R* {( osolidworks 2012   +  win7 64  +  32位office; q1 a# K- k) d, X( @* `
宏拿过和与预想的一样     直接无法用     要么EXC ...
, @) a# {' Y) x# ^
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 编辑
' l1 T! I, x! h/ Z( B. q
lhl2008 发表于 2017-8-3 17:45
0 Q9 x9 N7 X1 |0 l& V) bsolidworks2017的VBA是6.0,solidworks2013以后为7.0,程序需要做一些调整

% B: o; x" O1 a$ d% z) m# J1 ^$ I' {  \  Y9 F
( `) |, r& K8 x) F! n2 c- `. Y! b" O
VBA确实不方便   % }/ G+ H9 j6 ^' j
发表于 2017-8-4 11:08:37 | 显示全部楼层
本帖最后由 ProeSky 于 2017-8-4 11:11 编辑
" f% f. j9 T3 }" R
9 j" E3 y9 @/ s+ A想知道 楼主   顺利提取出图片   是怎样的配置 ! L( V' ^: A1 n" i" x( c

, _& B+ }( {3 J5 [* H4 b问过别人  GetPreviewBitmap  好像64位用不了 & v5 b8 [4 s7 I2 o) \3 {
, l5 L2 }6 h6 L
要我用内存截图 法) B1 z3 F6 u4 |
5 h& I+ ~8 C, G" h6 A2 [
! M" V* ~8 e/ g1 ?8 O/ Z

% \& `& u  I- F
! q* N) I# ^4 {
( J1 ]% R1 l3 w( \2 j2 j4 Y; p
wen.jpg
发表于 2017-8-4 11:46:42 | 显示全部楼层
ProeSky 发表于 2017-8-4 11:08
$ q( p* s0 G; Q/ Z+ A+ k想知道 楼主   顺利提取出图片   是怎样的配置   q- u1 d' l# }$ W" \* z. F4 n
$ E" A; v! t  M7 B) m( \1 T4 ~
问过别人  GetPreviewBitmap  好像64位用不了

* k. D' i5 ?( P* {1 e5 W3 K大大问的高人,应该不清楚COM为何物!
发表于 2017-8-4 12:53:00 | 显示全部楼层
本帖最后由 ProeSky 于 2017-8-4 13:20 编辑 ( L2 J7 X4 L' Y$ j
bash 发表于 2017-8-4 11:46& Z% ~5 U3 L" o
大大问的高人,应该不清楚COM为何物!

$ |8 d1 Z6 B: T4 }) k) c- a# K, y% N# k, C4 N/ j
都不是专业的   思路可能不同  不到不得已 不打算用他的方法  有难度     不过那种方法 图片效果不错
9 H4 F! ?3 }# V$ L) V: g
6 N+ H% ]5 M8 l; _+ ?& s- H别卖关子了   有解决方法吗2 \+ W# C( v. S
* R# i+ j) y* p4 e1 q
, S0 J- I! v1 \) Z% C: b
发表于 2017-8-5 14:39:44 | 显示全部楼层
本帖最后由 ProeSky 于 2017-8-5 14:49 编辑 3 c8 Q+ ^' @% a' r3 J
2 G% `$ P, i1 s
曲线救国 选了一种取巧的方法 哈哈哈 6 y) ?. G: d& l9 |: L

3 f8 I6 P3 f) L; r6 T
% [/ B8 m3 h: a# D1 @6 K吐槽一下  SWDM-API" m5 M$ y6 Z0 T2 m+ O: [( Y

5 g9 t% L" j% f& ^程序还要调一下 (以后再说头大)主要是图片显示大小问题0 G; R- s, A# \% O* l- D* q/ k

9 U2 j$ B" ^6 [+ E( L4 d; L( n9 z% p- [8 m$ ]) U% V$ |

/ T7 c, u# c. {' P$ F$ J& m
0 a* P# X4 ]) o* c8 X% b
曲线救国.jpg
 楼主| 发表于 2017-8-5 18:26:26 | 显示全部楼层
ProeSky 发表于 2017-8-4 11:08
3 ^" z/ j: i: ?  I# R想知道 楼主   顺利提取出图片   是怎样的配置
8 ~9 k! ^! z" H$ t+ Y3 j6 f' ^9 U- e0 ?. j! b( J/ ]9 p
问过别人  GetPreviewBitmap  好像64位用不了
% ~4 F5 O6 C$ y/ d) ^3 X
在低版本中用GetPreviewBitmap提取图片没问题,我以前在SW2012用过,现在手头没有低版本,无法验证!
 楼主| 发表于 2017-8-5 22:27:24 | 显示全部楼层
打开装配体,批量输出零部件属性及缩略图
# F0 k0 y. f% g1 l% y9 z (也可称之为零部件明细表统计)8 V) b9 t, B9 }; O& G
7 L6 W& U: T9 ?6 W
'说明: 该宏可以批量输出打开的装配体中所有零部件属性及缩略图到excel文件中  w  w9 u4 n( z6 }' Z* c+ {& G
''前提条件: 1.当前所打开的文档必须是装配体;% p( c( F# v" y1 H
'
- a6 e  m+ i& }; B$ B. a ''           2.运行该程序前要将装配体中的轻化零部件全部进行还原,否则对轻化的零部件不进行统计;
! ~3 b5 }  k4 v, L '
; L, U$ j4 }5 A' T( C ''           3.每个零部件的文档属性中必须要包含要提取的属性名称
: u; S7 ?# E1 [& V8 a  B1 J '
0 E/ b& n( ?, v  N2 a6 ^ '最后结果: 该宏将批量输出打开的solidworks装配体所有零部件中所包含的零部件质量,密度,数量,所属装配号; `( ^4 W3 a1 t. v/ d! p6 ~
'/ P* M; Y* J/ l
'          以及自定义属性和配置属性及缩略图到excel文件中并存储到桌面上。8 P3 ^  t8 H2 O2 D' T$ o' y' p" ]
'
% [; c- W7 q; {4 w+ c8 F  v. u$ _ '特点:
2 K4 v; d. c" D/ F( C '   1.该宏可同时输出零部件自定义属性以及配置属性
1 T9 i7 V9 L% u7 c '
5 e8 D: c+ k9 A4 p& y( S0 ?! j '   2.该宏可统计输出零部件总数量以及总重: ]. b+ t3 l3 O: v; Y
'
: F/ A/ S/ z  z- B& T2 j '   3.该宏可统计输出零部件所属装配代号
, ?5 g" P; T* t) {3 r5 r/ q8 m '5 v' V/ @3 A5 {7 h! c
'   4.该宏可输出所有零部件缩略图
3 t4 H. x7 H( y) n; Y% B7 c ': q4 U( L7 g2 E/ I6 i3 y
'   5.对于封套,Bom排除零部件,既可以统计进去,也可排除, z  x, w  _6 y. f
'  e) y2 Z/ G  O" @0 g1 {
'作者:lhl,2017.08.056 L0 }& A; R8 w
'; v, v+ A2 u1 k, G9 Y+ v" K: ^1 f) z/ ~
'版本:V1.0
. r* Y6 ?1 M8 _% i
 楼主| 发表于 2017-8-5 22:28:01 | 显示全部楼层
2017-08-05_22-20-55.jpg 0 I, \$ e  m& m) i: l
2017-08-05_22-22-05.jpg
0 N. Z/ I2 W* A& a5 n1 A
发表于 2017-8-6 08:49:36 | 显示全部楼层
谢谢专家,提供如此强大工具,坛友们有福了。: V: {6 s8 _( Y& Y" A- O
2 j# Y# D% _" v6 ?! g) W7 P
之前俺都是利用Excel内建工具插入图片和调整尺寸,
, W* o" _" q2 S- T有了这工具就可以大大简化操作了,效率估计提高起码十倍。  E! Q' c! l  t8 R- Z

, H% a6 {9 B! y) J/ S因审美观因人而异,涂彩缩图未能兼顾每个人的口味,# f/ @+ h) E" Z5 S/ p' ~, p" t
后来俺都是使用黑白(仅看的到模型边线)缩图来解决的。! p( n$ ^# b8 I* V1 c2 R
看看可否加上黑白缩图(如附图)的功能?(可能俺太贪心了吧) 捕获.PNG " A8 ?( d; l  ^* {
发表于 2017-8-6 09:46:58 | 显示全部楼层

" t# \% c; _. ?" V. ?) E: ~lhl2008大师,这个是最新版本吗?
 楼主| 发表于 2017-8-6 09:54:15 | 显示全部楼层
谢谢鹿兄关注,生成线框缩略图是可以的,但这个不是SW文件中保存的,必须要另外保存成线框图片,这个应该不是难点。也许,鹿兄有更好的招法!
, D1 ~4 H+ }$ }' V# I' P
发表于 2017-8-6 11:19:42 | 显示全部楼层
是否如55#所提供的信息 64位元 無法享用,
4 Q; G. f9 i: t7 O# t' k5 n, w9 k! J
而執行成功的都是 32位元 嗎?
 楼主| 发表于 2017-8-6 11:29:48 | 显示全部楼层
ryouss 发表于 2017-8-6 11:19  ?8 [4 y( u! L& T
是否如55#所提供的信息 64位元 無法享用,
# e1 ?! V/ p1 S  K4 J( D* i' d" m' i; K
而執行成功的都是 32位元 嗎?
5 R" j2 F5 `5 c
我的机子配置:! D* c' K" \' F: [1 O# s' b1 a
windows10,64位
) n* W/ f  S% [; Z0 m& rSolidworks20174 C) A5 X$ x2 g/ V7 B+ [+ S
Excel2016
发表于 2017-8-6 11:37:30 | 显示全部楼层
見鬼一直沒試出, V/ M* y3 J" g2 b/ W& }! ?5 P
7 B1 N/ y. b* p  Q2 N: {
我是$ j" M' c9 [1 T: m
win7,64位元3 ?0 D: V- v+ T6 P/ p  D
solidworks2012,20176 P. Y7 ^3 h/ S" l6 U
Excel 2010
发表于 2017-8-6 12:15:17 | 显示全部楼层
進入 main 用逐步執行的話,如附图所示然後就自動關掉SW了.
: I/ A* B2 x+ f/ r) b& B) D
- y. w& K; n% N3 |7 [- Q 10.png
6 V# l! Z) s* O2 I
 楼主| 发表于 2017-8-6 14:30:18 | 显示全部楼层
本帖最后由 lhl2008 于 2017-8-6 14:35 编辑 : u& X: l- q  D1 n9 P4 ?
ryouss 发表于 2017-8-6 12:15
. S3 E4 \  |3 t& D進入 main 用逐步執行的話,如附图所示然後就自動關掉SW了.

: j9 W4 z, U  B: O2 O' M浏览文件夹的过程你可以另换一个试试
发表于 2017-8-6 14:59:02 | 显示全部楼层
lhl2008 发表于 2017-8-6 14:30
4 ]& D' L. }/ E$ p: f浏览文件夹的过程你可以另换一个试试

) M8 Z. O, s; l* ]' i% M- n  I4 M改了沒用, q- C/ v/ A5 M* `8 V! L3 \4 j

8 M6 t- a. v! C: ]另請教如下是正確的嗎?
' u) g' [0 n3 J: ]
( e* ?/ Q& I! l  f 11.png
7 S2 k% ^( t% L0 t& b# q# d) `3 W/ e/ R/ W( M
 楼主| 发表于 2017-8-6 21:46:40 | 显示全部楼层
大鹿 发表于 2017-8-6 08:49
! ^# n& ^, ]) A5 z' S3 ?谢谢专家,提供如此强大工具,坛友们有福了。
! u! G  N% u, \% I
6 i; k* E( x5 S. a! @之前俺都是利用Excel内建工具插入图片和调整尺寸,
& ]2 N& a8 T% a* h8 J5 \' d' p
做出了与鹿兄一样的线框缩略图,效果还不太好,还需改进
/ Y' d4 L4 \  L, r 2017-08-06_21-38-09.jpg 2017-08-06_21-37-24.jpg
- G3 l" Y1 F) S5 F& g. x6 d1 e
发表于 2017-8-7 09:18:50 | 显示全部楼层
本帖最后由 bash 于 2017-8-7 09:42 编辑 ' n# E! |3 _1 w& C
lhl2008 发表于 2017-8-6 21:46- K% f1 q! s( ]# r7 H
做出了与鹿兄一样的线框缩略图,效果还不太好,还需改进

& p3 z- ~/ k0 H' A' _) e楼主在插入图片后,可以用% d! F$ D, O/ b

, `1 U4 y+ M4 f) J3 n9 M( UPictureFormat.ColorType = msoPictureBlackAndWhite
" m! Q' }6 v7 k* y* q8 d& C, D% A- U
! X% h7 Z8 b) K试试* {0 T/ w& m; I" w" R
如果图片是SW里面直接保存出来的话,可以用PNG格式,并且,要求用户自己在SW设置里面打勾“移除背景”
8 Q4 Z: l- O; j
% j- [' }6 O; z. a9 G- t: p" m" x2 O; M0 L' w' \/ `9 U" q
 楼主| 发表于 2017-8-7 11:45:29 | 显示全部楼层
bash 发表于 2017-8-7 09:182 ^3 \& T7 K0 ^, B8 S' w5 H
楼主在插入图片后,可以用) |% O5 N. l+ L; j& `9 J1 e/ c* L. N

) A0 \1 R" U& S- cPictureFormat.ColorType = msoPictureBlackAndWhite

" t7 V% o4 ^8 R谢谢bash兄指导,我试试!
发表于 2017-8-8 16:25:30 | 显示全部楼层
惊见某论坛出现的动画
9 l* n( D! }! H$ [# a commentpreview.gif
发表于 2017-8-8 19:26:20 | 显示全部楼层
SW2016 发表于 2017-7-29 16:285 S1 K9 ]* B7 V! N$ u+ a9 }3 y; D
多谢分享!
. |4 I8 N0 X, C' ?7 \我在SW中点工具〉宏 〉运行,却没有反应,是Excel的版本不对吗?

! `" V0 k* a: D6 h- N- |. h1 b我也是这情况,希望能解决
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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