QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

[复制链接]
发表于 2017-8-3 14:20:00 | 显示全部楼层 来自: 中国江苏
本帖最后由 ProeSky 于 2017-8-3 15:00 编辑
$ D( N! }! K* P3 Y2 @3 k# y' `; ~+ B, v9 _1 y# e9 ~
配置:. p7 ?7 T* w8 }; X4 Z
solidworks 2012   +  win7 64  +  32位office2 `% w& q% |3 Q0 q, t9 I* H8 I( S
宏拿过和与预想的一样     直接无法用     要么EXCEL 直接空白

" a$ C5 d7 K2 W1 |1 A& E8 \# [, q2 `, d
调试之前 注释掉 容错语句   on error resume next    . m. J" ~- B! l- |- ?! ]; B3 v
; v) X5 c6 q) i; }8 l) E
问题:2 @& C" u! q' L- s7 J2 `0 _
          1.工程引用要改4 {; M) a5 ]* ^% v8 W
, m& o+ n9 k8 J" R
          2.去掉 PtrSafe  (见图片 PtrSafe,对照楼主源代码)    ,不去掉的话 那段代码直接  亮红: D/ g& V; s8 ~+ w. {/ ^& K5 z
% I) ?. h0 E" P3 Q: R4 ^5 j/ {# Q
         3.类型声明符与声明对象不符,,改改改  在left 前加  VBA. (见图片 VBA)
9 M* b. v; Z4 y& W- A# k: C& X1 i& R0 n$ s7 a% w5 S
% |5 b3 h/ N3 U: ?4 G6 i) E9 M
结果:1 B6 m0 j) g9 j' i. {3 F
7 q. [9 j/ `2 k& j3 k6 w, {! N
       1. 缩略图的错误(见图片报错)没搞定     直接先屏蔽掉     去找资料或坛里高人指点& D" `/ }3 A1 R2 J4 L7 w

: I) r% g: ~, m2 K. x3 D       2.可以顺利生成不带图的bom(见图bom表) . r1 j  k; B, d1 c
, v" p& p6 j  f8 U) T1 g
$ S' i) G& i1 }' N5 ~' i

1 J& o( M1 V* B; k8 V$ I" f9 P. `! h0 P

ptrsafe

ptrsafe

VBA

VBA

报错

报错

BOM表

BOM表
 楼主| 发表于 2017-8-3 17:45:51 | 显示全部楼层 来自: 中国陕西西安
ProeSky 发表于 2017-8-3 14:20
( M8 [) f# I% V3 Z9 y! ?配置:$ O  @% l1 m% v' v) e: h
solidworks 2012   +  win7 64  +  32位office
# }6 e- T% ^* H宏拿过和与预想的一样     直接无法用     要么EXC ...
+ H# X+ _- i5 ^7 V$ o
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 编辑 $ N5 [6 z9 b. \: Y  b. ]. \9 ^
lhl2008 发表于 2017-8-3 17:45( a5 R: Q1 p+ I( Y! Q$ \) v
solidworks2017的VBA是6.0,solidworks2013以后为7.0,程序需要做一些调整

7 `5 |8 y" k# n: A& \4 A4 `. u* m! Q: e  @( Z
8 C% I1 I' y% C. e+ }0 ^# t
VBA确实不方便   8 h1 q$ ]% Z1 A8 F, Q
发表于 2017-8-4 11:08:37 | 显示全部楼层 来自: 中国江苏
本帖最后由 ProeSky 于 2017-8-4 11:11 编辑 * l/ {6 f# V- N8 m! ^3 E0 i

; A* y" b5 l/ O7 L% P0 C想知道 楼主   顺利提取出图片   是怎样的配置 : H* K8 h, \. s# Q3 `

8 j: e+ h3 t: X8 U( A# L问过别人  GetPreviewBitmap  好像64位用不了 & S+ H2 Z$ [2 q8 i
: e0 Y/ C3 Y4 N: N9 L- x
要我用内存截图 法
9 T$ i/ ]! S8 k+ U7 q' P, o; V1 R9 v2 Q
6 h5 ~& c2 V3 c. I
+ \; t6 Z5 e0 M- j

( M* E. o: J3 y+ q/ y4 M  C  ^5 ~1 _8 Y2 j- T5 T* p: f; u
wen.jpg
发表于 2017-8-4 11:46:42 | 显示全部楼层 来自: 中国广东佛山
ProeSky 发表于 2017-8-4 11:08  x% E5 l, J! w* S
想知道 楼主   顺利提取出图片   是怎样的配置
( V) s0 h6 {- ^" C! Y; o3 a' X; t: S% H+ o) ^# i# X9 u6 i
问过别人  GetPreviewBitmap  好像64位用不了

+ O/ {; l4 O2 A# y& v- i5 H- h大大问的高人,应该不清楚COM为何物!
发表于 2017-8-4 12:53:00 | 显示全部楼层 来自: 中国江苏
本帖最后由 ProeSky 于 2017-8-4 13:20 编辑
) x9 m4 Z+ p2 u# Z; r$ B/ s- E. s
bash 发表于 2017-8-4 11:469 Q4 z$ K' u$ A6 k0 `
大大问的高人,应该不清楚COM为何物!

  X; g& r( J+ }/ Q. ~$ N4 p
" Y! g/ I- G. f; [. I# `. h都不是专业的   思路可能不同  不到不得已 不打算用他的方法  有难度     不过那种方法 图片效果不错0 R* U0 B$ k% N

9 @) p  ]! l- O6 I- R8 l# L0 A( i别卖关子了   有解决方法吗
, M* Y2 f0 Y, M  j8 ~5 H
( `7 ]2 C7 s: Q8 A
8 L' ?8 l$ d2 o  K* Z# a# W/ C3 @' ~: E7 E
发表于 2017-8-5 14:39:44 | 显示全部楼层 来自: 中国江苏
本帖最后由 ProeSky 于 2017-8-5 14:49 编辑
1 J. u" D6 Y" C! \* T6 q( G* S( S5 v( X  h  e4 k/ t4 r, n* F
曲线救国 选了一种取巧的方法 哈哈哈
. P6 P/ n4 n6 L5 m' r
  o. O. P& G% c9 @5 V
: A0 o/ V5 j6 f2 [& }; t吐槽一下  SWDM-API" U& M2 ]2 W5 ~6 U: N" b& d

# r4 n# v+ c, k1 m9 f& Z3 Y% h( w程序还要调一下 (以后再说头大)主要是图片显示大小问题
: n0 X/ j# i  _
+ m* R1 d  T9 W& ^; ^# Q
) c3 ]& d( G9 V7 R# `  s9 B% f  A  \

; ]8 M8 a0 n5 ~4 X
曲线救国.jpg
 楼主| 发表于 2017-8-5 18:26:26 | 显示全部楼层 来自: 中国陕西西安
ProeSky 发表于 2017-8-4 11:08! L2 t! O% }6 S' |; |7 `
想知道 楼主   顺利提取出图片   是怎样的配置
$ @1 V. A6 H% t9 E5 _" G3 ]8 _2 ?
问过别人  GetPreviewBitmap  好像64位用不了

( x) y8 N) _1 n: c; Y, E, a在低版本中用GetPreviewBitmap提取图片没问题,我以前在SW2012用过,现在手头没有低版本,无法验证!
 楼主| 发表于 2017-8-5 22:27:24 | 显示全部楼层 来自: 中国陕西西安
打开装配体,批量输出零部件属性及缩略图
9 ?, @+ @# F  L9 _4 L (也可称之为零部件明细表统计)
, }6 \, F  M4 p, E5 i+ H" ?! B6 s3 j( @$ }0 d4 h9 p& i
'说明: 该宏可以批量输出打开的装配体中所有零部件属性及缩略图到excel文件中) \2 N1 G' A2 M
''前提条件: 1.当前所打开的文档必须是装配体;* T, N2 [) N! r) X
'
8 {1 D- x( B: b6 m; L/ M ''           2.运行该程序前要将装配体中的轻化零部件全部进行还原,否则对轻化的零部件不进行统计;
% I1 |/ V! N: v% J+ ` '
" a0 E. g! M) a/ Q2 B$ r$ ^( G ''           3.每个零部件的文档属性中必须要包含要提取的属性名称) _/ r, `$ w# u) R2 a' j: n9 X
'
0 W3 L9 E" D6 s8 b+ K '最后结果: 该宏将批量输出打开的solidworks装配体所有零部件中所包含的零部件质量,密度,数量,所属装配号
8 t5 u+ W' P3 M5 r '
) E+ v. Q& k7 q$ A+ A: y '          以及自定义属性和配置属性及缩略图到excel文件中并存储到桌面上。9 y( R% R: i& V3 K  @
'/ H8 B: b" V% H" z5 y
'特点:% w. p2 u3 ~4 E( w- S
'   1.该宏可同时输出零部件自定义属性以及配置属性1 r- A3 q& B# _. F& O8 D
'1 u) ^& n$ O3 T0 f4 b  [# K
'   2.该宏可统计输出零部件总数量以及总重' G& X% y8 }) P. V( S
'+ P4 L9 g& C5 |" R1 i5 b" ]
'   3.该宏可统计输出零部件所属装配代号5 z5 {! Q& x1 W5 t7 X' U' ], h, k5 N6 Y
'  m4 l1 ?, I: d1 {* ~
'   4.该宏可输出所有零部件缩略图
; N: l! H. T5 h) G- ^* M '/ R. X# K6 S2 @
'   5.对于封套,Bom排除零部件,既可以统计进去,也可排除7 ]' L$ K  S+ H0 ?
'
- {2 ]; n/ i: a7 }2 } '作者:lhl,2017.08.056 t6 F# N5 x2 ^2 w
'& i+ q  [4 k6 z" x% @% O5 a* c
'版本:V1.0
' m+ g; U* T$ m6 I  l
 楼主| 发表于 2017-8-5 22:28:01 | 显示全部楼层 来自: 中国陕西西安
2017-08-05_22-20-55.jpg
0 m  R7 I' y9 ^8 }; u* u# p; \ 2017-08-05_22-22-05.jpg
7 Y7 ]% l4 J. J, I  J0 _! ]& m
发表于 2017-8-6 08:49:36 | 显示全部楼层 来自: 中国香港
谢谢专家,提供如此强大工具,坛友们有福了。5 ~# x/ ]% n) c# E2 |+ m8 \" c( @2 U
: D* p( T6 E/ o  K% W1 e  [
之前俺都是利用Excel内建工具插入图片和调整尺寸,
* D* X+ l/ t& {! p( J3 ^2 j有了这工具就可以大大简化操作了,效率估计提高起码十倍。. r: y( x, ~+ {' y

9 K' m: f. L; o) |% J因审美观因人而异,涂彩缩图未能兼顾每个人的口味,
, k! z' i( J1 N6 [6 \后来俺都是使用黑白(仅看的到模型边线)缩图来解决的。
$ F9 d8 i( R! N" M看看可否加上黑白缩图(如附图)的功能?(可能俺太贪心了吧) 捕获.PNG 1 i& C4 N7 ]4 \7 Y
发表于 2017-8-6 09:46:58 | 显示全部楼层 来自: 中国广东肇庆
9 K0 S  `3 @/ `) N- B/ z: y
lhl2008大师,这个是最新版本吗?
 楼主| 发表于 2017-8-6 09:54:15 | 显示全部楼层 来自: 中国陕西西安
谢谢鹿兄关注,生成线框缩略图是可以的,但这个不是SW文件中保存的,必须要另外保存成线框图片,这个应该不是难点。也许,鹿兄有更好的招法!* Y; P) z: K# |- U' x* C  s# ]
发表于 2017-8-6 11:19:42 | 显示全部楼层 来自: 中国浙江嘉兴
是否如55#所提供的信息 64位元 無法享用,
' H0 t9 b( ?5 L7 k% l8 D0 N+ a% {6 {: Z/ A# o
而執行成功的都是 32位元 嗎?
 楼主| 发表于 2017-8-6 11:29:48 | 显示全部楼层 来自: 中国陕西西安
ryouss 发表于 2017-8-6 11:19
! U& Q5 ?5 N& L8 x7 g' z: G' ^% I; |是否如55#所提供的信息 64位元 無法享用,
8 z3 h/ }0 h7 i) o4 Q4 z( X' `1 ]+ B9 }7 W8 R  D0 |
而執行成功的都是 32位元 嗎?

8 l8 \( i* ?4 e7 W% f* d- I2 i我的机子配置:8 p, n( g. t# y4 _, A
windows10,64位
+ w  n- F) s) _% W0 m6 fSolidworks2017
$ h, O& J: l2 [Excel2016
发表于 2017-8-6 11:37:30 | 显示全部楼层 来自: 中国浙江嘉兴
見鬼一直沒試出
) c$ D; K& d. e0 Z, H. u3 `
4 g; K2 x# {4 q! K6 ?5 Y" L我是
! d: n/ n0 o% N4 L* g4 z# dwin7,64位元
, M& Z4 s9 ^1 n1 U3 lsolidworks2012,2017
4 |  f3 I& ]  O7 p' q0 n4 hExcel 2010
发表于 2017-8-6 12:15:17 | 显示全部楼层 来自: 中国浙江嘉兴
進入 main 用逐步執行的話,如附图所示然後就自動關掉SW了.
$ X) y- X/ j) E$ k
2 S* w+ n* L2 t+ _% i. P# y  y 10.png
9 H6 Z0 S- u' X; E( k) \
 楼主| 发表于 2017-8-6 14:30:18 | 显示全部楼层 来自: 中国陕西西安
本帖最后由 lhl2008 于 2017-8-6 14:35 编辑 ( C  I+ r0 [% a
ryouss 发表于 2017-8-6 12:15; o) e1 J: A9 ~
進入 main 用逐步執行的話,如附图所示然後就自動關掉SW了.
6 q2 o) B& ~! t
浏览文件夹的过程你可以另换一个试试
发表于 2017-8-6 14:59:02 | 显示全部楼层 来自: 中国浙江嘉兴
lhl2008 发表于 2017-8-6 14:30) p# ?5 v7 t  L: ?: @
浏览文件夹的过程你可以另换一个试试
+ d3 s& Y/ }' [# Z% I
改了沒用
4 [' c! P: P  x  n) y& s+ N6 t6 }8 e2 ?
另請教如下是正確的嗎?6 ]' v9 L) \5 `# l; J2 I

+ V' C- }/ H; W3 B1 z% G( x; t 11.png
, f1 g* ^" D) w+ I/ h6 k/ w3 L0 s% }* B/ L1 k: [- a, b6 T
 楼主| 发表于 2017-8-6 21:46:40 | 显示全部楼层 来自: 中国陕西西安
大鹿 发表于 2017-8-6 08:490 x( x9 |" Q; q8 K0 U
谢谢专家,提供如此强大工具,坛友们有福了。
9 U* ^' @; d, i- K0 M
' ^8 f& n1 z- S; F1 l2 a$ t$ q之前俺都是利用Excel内建工具插入图片和调整尺寸,

3 q) T# O8 _1 [- q7 d$ M" _做出了与鹿兄一样的线框缩略图,效果还不太好,还需改进4 g' Y* H! v5 {% w
2017-08-06_21-38-09.jpg 2017-08-06_21-37-24.jpg $ G3 w0 Q1 _. {; R9 R, q
发表于 2017-8-7 09:18:50 | 显示全部楼层 来自: 中国广东佛山
本帖最后由 bash 于 2017-8-7 09:42 编辑 ( ]4 C1 `9 n+ \8 n8 Q
lhl2008 发表于 2017-8-6 21:46
1 r: v; s! L# {, W做出了与鹿兄一样的线框缩略图,效果还不太好,还需改进

0 U7 o7 J2 C) t楼主在插入图片后,可以用
1 Q9 w0 d. P" ]1 m6 L$ ]" w
" b" L# P  i7 r: D; APictureFormat.ColorType = msoPictureBlackAndWhite
( V/ n$ ^, f9 S4 t" i+ M- V/ D8 F! e& B6 G5 k
试试( C5 C; f5 v0 g/ ^0 i) o5 w/ s
如果图片是SW里面直接保存出来的话,可以用PNG格式,并且,要求用户自己在SW设置里面打勾“移除背景”
, K# I  u9 V& }) ?& v, s3 O6 S. F8 o

1 j& z+ B4 L5 p5 ], y: l
 楼主| 发表于 2017-8-7 11:45:29 | 显示全部楼层 来自: 中国陕西西安
bash 发表于 2017-8-7 09:18
. G- S5 R, j5 m3 C  m5 R楼主在插入图片后,可以用
  F0 J0 \# W$ x
; ]  p( F! k% H+ s5 }0 U: w/ [, yPictureFormat.ColorType = msoPictureBlackAndWhite
: Z) f9 E5 T! f
谢谢bash兄指导,我试试!
发表于 2017-8-8 16:25:30 | 显示全部楼层 来自: 中国香港
惊见某论坛出现的动画
: Q  a3 p7 t, ]6 G8 n commentpreview.gif
发表于 2017-8-8 19:26:20 | 显示全部楼层 来自: 中国广东揭阳
SW2016 发表于 2017-7-29 16:28% |; }' h5 q3 B" N
多谢分享!
' o7 p) K) O9 p' S. ^1 z8 t+ V我在SW中点工具〉宏 〉运行,却没有反应,是Excel的版本不对吗?

/ Q" K- V3 D, b; L7 U9 m我也是这情况,希望能解决
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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