QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

[复制链接]
发表于 2017-8-3 14:20:00 | 显示全部楼层 来自: 中国江苏
本帖最后由 ProeSky 于 2017-8-3 15:00 编辑
! X, U; ?$ q# h+ f2 j. b$ N% k4 T& W+ T: f. k
配置:& o, d- W1 \- R" X3 B% h! z5 w
solidworks 2012   +  win7 64  +  32位office, T9 |, k. }' f( X! D" E7 F  J2 @" s
宏拿过和与预想的一样     直接无法用     要么EXCEL 直接空白
% e5 ?8 L( g  N. f0 J( ?+ t9 ]

, U( k8 o* S. b2 P) r2 K9 D调试之前 注释掉 容错语句   on error resume next    ' d. z# k! E# _& Y' q/ d/ H
: U% ?& P5 ^" G+ v
问题:* P9 ~5 ]" K8 ?7 _; t8 O/ y
          1.工程引用要改
9 I7 I* s; G0 @, V2 e3 C8 I; w2 a! n# i7 ~/ _4 y6 a, a
          2.去掉 PtrSafe  (见图片 PtrSafe,对照楼主源代码)    ,不去掉的话 那段代码直接  亮红9 z3 N9 |1 ^; g

4 M( ^6 X, a1 H3 v' j- Z" h( |9 N         3.类型声明符与声明对象不符,,改改改  在left 前加  VBA. (见图片 VBA)1 t! Y7 m' s! A2 w/ O& Y/ h

& U! H+ G7 j+ B+ T( ?5 b7 t* T6 L* v) b4 @: a- O6 F; ]6 K# L/ t
结果:8 _) n6 D) {! a$ H  ]
1 t$ j# J  h% l, o
       1. 缩略图的错误(见图片报错)没搞定     直接先屏蔽掉     去找资料或坛里高人指点
$ d7 F  T8 ^, s3 L
4 [1 U! o8 K7 ?0 f& {7 _% _9 g       2.可以顺利生成不带图的bom(见图bom表)
' l7 h4 |% ]. j  q* y
2 n9 D5 O& a+ g' ^! I
) _9 E6 t" F; ^/ D% C$ \3 A
8 a0 V1 u& f7 z) b. m/ B
0 T3 g7 }2 V. M  E' w) B, [# `- I' R4 B

ptrsafe

ptrsafe

VBA

VBA

报错

报错

BOM表

BOM表
 楼主| 发表于 2017-8-3 17:45:51 | 显示全部楼层 来自: 中国陕西西安
ProeSky 发表于 2017-8-3 14:20
! j' U+ F" e* z# g6 F配置:: W5 y3 C& c- C1 F' U
solidworks 2012   +  win7 64  +  32位office
7 |7 j$ x( H9 [; h2 W- O9 p宏拿过和与预想的一样     直接无法用     要么EXC ...

# r: C5 B# [; u/ w3 K0 ssolidworks2017的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 编辑 1 _7 \9 v: }0 M( y
lhl2008 发表于 2017-8-3 17:45
3 J. }; F' P; N+ Dsolidworks2017的VBA是6.0,solidworks2013以后为7.0,程序需要做一些调整
# v% O. {) A6 b, n' i

$ b* D6 g2 p: ?
" t) [5 |1 ]  M5 W' x! L, ]VBA确实不方便   # T5 z  k/ Z& l
发表于 2017-8-4 11:08:37 | 显示全部楼层 来自: 中国江苏
本帖最后由 ProeSky 于 2017-8-4 11:11 编辑 . a6 h  [- V! H3 j. C

& L" |% i' \, v想知道 楼主   顺利提取出图片   是怎样的配置
9 b  x, j+ H9 @5 @) U) Q6 T) y* U" Q8 ~
问过别人  GetPreviewBitmap  好像64位用不了
( q& j& j* c( Z; ?# V( u/ D& ~
" R& w! f- ~$ ?3 w9 k要我用内存截图 法
. X% r* l; J; W" B! [
3 a+ f4 ^" `3 o$ @8 W7 ]( ~
4 l+ C% [; {  U, _' i' L. k  x  u0 g
8 i8 g* P, e) q$ Q4 O
7 @7 @  v+ d+ }8 g6 e! l, @8 w
wen.jpg
发表于 2017-8-4 11:46:42 | 显示全部楼层 来自: 中国广东佛山
ProeSky 发表于 2017-8-4 11:08
- A# y* B( [$ T& U0 ]& E3 E想知道 楼主   顺利提取出图片   是怎样的配置
( V' Z% E& ?" i9 z7 _) w; }1 a" K2 v- P9 e* W; _' C; U
问过别人  GetPreviewBitmap  好像64位用不了

' u* p( Z6 H  V9 l7 ?大大问的高人,应该不清楚COM为何物!
发表于 2017-8-4 12:53:00 | 显示全部楼层 来自: 中国江苏
本帖最后由 ProeSky 于 2017-8-4 13:20 编辑
4 j) F1 l/ l! @+ S
bash 发表于 2017-8-4 11:46" `1 {1 [2 L# }
大大问的高人,应该不清楚COM为何物!

+ t" U# @9 Z- Q4 g8 H" p% b! C5 @( o
都不是专业的   思路可能不同  不到不得已 不打算用他的方法  有难度     不过那种方法 图片效果不错
$ d8 i# S# h! q, ~) n$ k- Y3 H! H. H$ s( ~
别卖关子了   有解决方法吗
0 i6 V2 |, b1 E. h6 j5 \6 ]1 q; |( b
" n  N: O+ E/ T$ Q3 u0 h% g" A* n# U' X- r
发表于 2017-8-5 14:39:44 | 显示全部楼层 来自: 中国江苏
本帖最后由 ProeSky 于 2017-8-5 14:49 编辑 3 y2 ^! J% U" C! m/ w2 l6 s

  B' g) M+ b% H% E曲线救国 选了一种取巧的方法 哈哈哈 ( M$ k. m0 K" D, g9 U3 `

% c- R9 d5 J% B  V3 H6 l5 a0 [% N, A4 X2 j
吐槽一下  SWDM-API2 [5 o' m- I7 _" M2 q9 Z

1 R, b& C, Z* v* d0 a% \程序还要调一下 (以后再说头大)主要是图片显示大小问题
6 I* a' q4 |9 `! y- v
" E9 @6 O( r- N6 |7 d* s! i
% s* ^7 F  Q4 ^* }( k) J( t) F+ z; q$ E
0 a: d! S. g/ \  K
曲线救国.jpg
 楼主| 发表于 2017-8-5 18:26:26 | 显示全部楼层 来自: 中国陕西西安
ProeSky 发表于 2017-8-4 11:08
9 i3 M, d; J- V0 E, i* t想知道 楼主   顺利提取出图片   是怎样的配置
) f2 e" o, A3 n  j6 m# ~1 Q
3 J3 l, T: T0 f% @7 v9 V) O问过别人  GetPreviewBitmap  好像64位用不了

  y& l2 i/ i# ]8 K) U) s在低版本中用GetPreviewBitmap提取图片没问题,我以前在SW2012用过,现在手头没有低版本,无法验证!
 楼主| 发表于 2017-8-5 22:27:24 | 显示全部楼层 来自: 中国陕西西安
打开装配体,批量输出零部件属性及缩略图# W0 k4 E: [- u& Z( l7 ]1 Y
(也可称之为零部件明细表统计)9 k6 V7 B( |) L

) r) b: L2 c; l0 g' o$ w0 j '说明: 该宏可以批量输出打开的装配体中所有零部件属性及缩略图到excel文件中
) f" a4 y4 I6 p ''前提条件: 1.当前所打开的文档必须是装配体;
' B4 G2 Y2 ]' X '
" b6 h# u$ C0 k. S6 ^ ''           2.运行该程序前要将装配体中的轻化零部件全部进行还原,否则对轻化的零部件不进行统计;3 p1 Y! D& d; y: u3 y
'
; |7 ?7 a! m# a3 Y3 r7 z ''           3.每个零部件的文档属性中必须要包含要提取的属性名称
% ^* v- E& e" ]1 U, i '
) J3 ]! W' Q; N. ]1 W '最后结果: 该宏将批量输出打开的solidworks装配体所有零部件中所包含的零部件质量,密度,数量,所属装配号  H3 E/ Q, k/ p& ]
'
/ G% y$ y  G2 N! ] '          以及自定义属性和配置属性及缩略图到excel文件中并存储到桌面上。
" J6 z  s8 Z" n, I+ j '. r8 h0 m1 k& a7 C' a! f& |5 P
'特点:* j3 ?% f3 |+ O9 ^- X% T5 H. [
'   1.该宏可同时输出零部件自定义属性以及配置属性6 ]/ t/ f9 t) D: O  x
'% i( e. f  Z/ k: Y: R- l
'   2.该宏可统计输出零部件总数量以及总重- K% T6 r0 Q6 S, C$ Y# l0 i( m
'6 j! o  G* K* ?2 m1 `0 U
'   3.该宏可统计输出零部件所属装配代号% ]5 y# ]6 I; g% o, T/ a/ x0 A
'
1 K# c# }$ A' d! Y4 X: `1 f" ] '   4.该宏可输出所有零部件缩略图+ c& w7 k; t5 Y4 Q6 ^
'
4 ?; X$ U" L# \0 [, O '   5.对于封套,Bom排除零部件,既可以统计进去,也可排除
4 m* m! f7 U2 ?" Q' S% @* X5 r '
& S; J5 p) l4 o& s' K '作者:lhl,2017.08.053 e5 v/ V* L" X2 _1 n3 g: N5 M
'
- H/ i9 e7 S$ e; N: A# ^ '版本:V1.01 s! _4 U; g0 }) O# m7 w
 楼主| 发表于 2017-8-5 22:28:01 | 显示全部楼层 来自: 中国陕西西安
2017-08-05_22-20-55.jpg
# m: r. O4 G8 {% |* m 2017-08-05_22-22-05.jpg ( o& Y& c1 D) d  X, Y+ \
发表于 2017-8-6 08:49:36 | 显示全部楼层 来自: 中国香港
谢谢专家,提供如此强大工具,坛友们有福了。8 X4 e) R! T/ f3 v

1 ]/ `* `: R( D. b之前俺都是利用Excel内建工具插入图片和调整尺寸,& U' S0 f# _" m" N" ^0 Z' k
有了这工具就可以大大简化操作了,效率估计提高起码十倍。( ^" \" F" ?  K) M+ ], t
: J: @) Q% v1 z9 ?1 i
因审美观因人而异,涂彩缩图未能兼顾每个人的口味,
# G" j7 x' {& g1 X& Y3 X后来俺都是使用黑白(仅看的到模型边线)缩图来解决的。
! F4 ^) [" v9 S看看可否加上黑白缩图(如附图)的功能?(可能俺太贪心了吧) 捕获.PNG
# T- `' d( `, Z; P
发表于 2017-8-6 09:46:58 | 显示全部楼层 来自: 中国广东肇庆

/ c7 U4 C4 v. V, [0 P3 Elhl2008大师,这个是最新版本吗?
 楼主| 发表于 2017-8-6 09:54:15 | 显示全部楼层 来自: 中国陕西西安
谢谢鹿兄关注,生成线框缩略图是可以的,但这个不是SW文件中保存的,必须要另外保存成线框图片,这个应该不是难点。也许,鹿兄有更好的招法!
; _( G# w7 M. b
发表于 2017-8-6 11:19:42 | 显示全部楼层 来自: 中国浙江嘉兴
是否如55#所提供的信息 64位元 無法享用,
% m. i! @" H3 k  s
4 E6 y2 n# G& n7 J而執行成功的都是 32位元 嗎?
 楼主| 发表于 2017-8-6 11:29:48 | 显示全部楼层 来自: 中国陕西西安
ryouss 发表于 2017-8-6 11:19
; B- e* t) b( x( y3 g3 E! D* O是否如55#所提供的信息 64位元 無法享用,; m: n' ?8 s: {4 H9 g) i% l5 }

/ \& f) q+ Q. `3 x, ?' E而執行成功的都是 32位元 嗎?

6 \+ Q3 @. V! A" c2 ^% o( a$ [我的机子配置:6 m+ _8 i; A) P! ^3 {
windows10,64位
- U3 d3 y$ M5 E, N8 mSolidworks2017
+ H! E1 ?- F) }7 cExcel2016
发表于 2017-8-6 11:37:30 | 显示全部楼层 来自: 中国浙江嘉兴
見鬼一直沒試出: @6 N  s( p) u+ g# H+ l

; `' t8 X4 P! u我是
5 t  q% R# Y( ~+ e" c. wwin7,64位元
/ a7 @5 q0 b, Qsolidworks2012,20179 ^, g  H% l+ U  Z
Excel 2010
发表于 2017-8-6 12:15:17 | 显示全部楼层 来自: 中国浙江嘉兴
進入 main 用逐步執行的話,如附图所示然後就自動關掉SW了.
/ Q9 S2 h3 N, m& e( A
: `  z2 ]5 M# o" X5 A 10.png . E2 R- v1 L( Y& J( |$ h* Q% B
 楼主| 发表于 2017-8-6 14:30:18 | 显示全部楼层 来自: 中国陕西西安
本帖最后由 lhl2008 于 2017-8-6 14:35 编辑 3 B7 l# I+ e; m2 V( {
ryouss 发表于 2017-8-6 12:155 i* Y# d3 k. U+ S: F% a1 T. b
進入 main 用逐步執行的話,如附图所示然後就自動關掉SW了.
5 O$ F# |8 g% Y
浏览文件夹的过程你可以另换一个试试
发表于 2017-8-6 14:59:02 | 显示全部楼层 来自: 中国浙江嘉兴
lhl2008 发表于 2017-8-6 14:303 P$ Z/ q3 r7 a: I5 q! X- n0 {
浏览文件夹的过程你可以另换一个试试

% c4 L  C/ W  _/ I9 z- }  ~9 s+ v改了沒用+ r0 i! P& I6 V7 `
3 ]7 k! O' L. P+ C) q
另請教如下是正確的嗎?9 w. ~: j6 \3 v' L& R+ A6 t

  m* ]- F$ r5 L) J2 P6 Y- @ 11.png
& S$ l0 ]1 o9 r& [% j7 P
5 ^, k+ g0 W) t9 {  V2 N4 U3 @
 楼主| 发表于 2017-8-6 21:46:40 | 显示全部楼层 来自: 中国陕西西安
大鹿 发表于 2017-8-6 08:498 ?) F. C; r3 ~" d. w& ^/ A$ ]
谢谢专家,提供如此强大工具,坛友们有福了。- _3 m! O6 M9 l1 _
3 I+ c! }; Y& g: D. _) c; b( y/ \
之前俺都是利用Excel内建工具插入图片和调整尺寸,
. A; S7 d) M6 ]
做出了与鹿兄一样的线框缩略图,效果还不太好,还需改进  A7 R! U8 ]2 J. v
2017-08-06_21-38-09.jpg 2017-08-06_21-37-24.jpg : h- H# z6 F' _9 K  ?
发表于 2017-8-7 09:18:50 | 显示全部楼层 来自: 中国广东佛山
本帖最后由 bash 于 2017-8-7 09:42 编辑
7 a& s. z8 l6 z. n3 Y
lhl2008 发表于 2017-8-6 21:46
6 X# W! X8 o  L( [4 ?( D. m5 V做出了与鹿兄一样的线框缩略图,效果还不太好,还需改进

4 Z& g6 F# c8 [% B! e; R3 C楼主在插入图片后,可以用
& z  s- }8 |! C- D* D+ V
/ ]3 f! x- D7 ~) nPictureFormat.ColorType = msoPictureBlackAndWhite. A. ^' R9 _: o
. T3 `7 C; A/ C5 r3 w% Y, T
试试
7 c: E. o. f: b# N2 D% x如果图片是SW里面直接保存出来的话,可以用PNG格式,并且,要求用户自己在SW设置里面打勾“移除背景”" j* m0 H3 ~  o- k9 i3 d: {
, B- }  w# z/ _% @+ c

( H: E8 ]# R  b. P% G
 楼主| 发表于 2017-8-7 11:45:29 | 显示全部楼层 来自: 中国陕西西安
bash 发表于 2017-8-7 09:189 f* p( a. R& T- ~$ X
楼主在插入图片后,可以用* N2 h! i9 K/ T. n
9 @7 J. v7 g7 _& b! O9 [' C: |
PictureFormat.ColorType = msoPictureBlackAndWhite

) n0 ^; H2 x6 ~$ k+ R* F谢谢bash兄指导,我试试!
发表于 2017-8-8 16:25:30 | 显示全部楼层 来自: 中国香港
惊见某论坛出现的动画/ ]  r. M# W6 r1 ^) ~  C3 e& ]
commentpreview.gif
发表于 2017-8-8 19:26:20 | 显示全部楼层 来自: 中国广东揭阳
SW2016 发表于 2017-7-29 16:28
7 ^% S0 S& W/ l2 H  T多谢分享!" P  K% o" a, a4 ]& O
我在SW中点工具〉宏 〉运行,却没有反应,是Excel的版本不对吗?

% |7 Q5 J4 p" u. t5 a' K! q我也是这情况,希望能解决
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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