ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 13610|回复: 14

请教:VBA如何操控图片(已解决)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2007-6-16 17:55 | 显示全部楼层 |阅读模式
本帖已被收录到知识树中,索引项:图像处理和GDI

相信很多人都会有数码相机的了,大家有否觉得一般的数码相片放在电脑里的图片太大了

越好的相机越大,

偶尔,我发现将相片用附件中的画图打开,再保存一次(jpg格式),文件的大小居然小了1/3有多!

还有,相片大小通常都比屏幕大,再作下调节整为刚满屏,文件还要小!

当然这只作为普通的留念照片,就完全OK了.既有留念也可节省资源,即使是发邮件也是大有好处的

各位老师能提供一些相关资料,或直接就做一个程式,批量地修改这些相片?

一张张处理太慢了,也烦!处理为刚好满屏也不易的,最好横向与竖向分开了!

谢谢

 

vFgTH7iF.rar (19.33 KB, 下载次数: 1304)
在小鱼老师的指点下完成了这个要求,多谢!VBA密码3829650
[此贴子已经被作者于2007-6-21 16:19:41编辑过]

点评

知识树索引内容:代码采用剪贴板转shape,并保存的方式。建议直接采用GDI  发表于 2013-9-25 13:08

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2007-6-16 19:23 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

这样的批量处理用ACDSee处理即可实现,3.0版就带有html album generator(相册生成器),其中可以选择缩略图的尺寸,把它设置为屏幕的宽*高即可

用excel也可,思路是:

通过filesearch找出指定目录下所有图片,依次用sheets(1).pictures.insert()把图片插入到工作表中,然后用API函数GetSystemMetrics分别得到屏幕分辨率,对比屏幕分辨率与图片尺寸将图片放缩到相应大小,导出的操作可能复杂些,不过已经可以实现,详见本人拙作:

http://www.officefans.net/cdb/viewthread.php?tid=69580&highlight=

不用管其中代码,只需将其中代码导出到你的VBA工程中,然后使用其中savepic函数即可,savepic的三个参数依次代表要保存的shapeobject名称,保存图像的格式(jpg,gif,png),保存文件名

[此贴子已经被作者于2007-6-16 19:31:28编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-6-17 08:04 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

先谢再看!

TA的精华主题

TA的得分主题

发表于 2007-6-17 10:44 | 显示全部楼层

专业的看图软件就很好了,何必Excel呢?XView

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-6-17 10:54 | 显示全部楼层

其实也以为专业的软件好用的!

特别是今天看了那么多的回复!

但要是你面对一帮对电脑知之不多,但又经常想发些东西上OA平台上的人时,再教会他们一套软件的用法,可能不如以现在的方式来处理更为便捷,既让那些人易于操作,也不要让OA的空间不必要地扩大,也不要让下载来看的人过多的等待,

不知各位是否也会这样认为?

[此贴子已经被作者于2007-6-17 10:55:04编辑过]

TA的精华主题

TA的得分主题

发表于 2007-6-17 11:31 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

照片文件变小,其实是由于采用了有损压缩,比如80%质量的JPG

既然已经有专门的软件实现这个功能,而且可以批量处理,个人认为让Excel去实现这个功能,没有太大必要性。

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-6-19 12:10 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

感谢 小fisher

虽然大家都不想这样做,最后我还是做了,从也知道了一些API的做法

现将成品发上到1楼,让大家参考一下吧,VBA密码:3829650

TA的精华主题

TA的得分主题

发表于 2009-2-11 22:30 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2010-5-5 00:10 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2010-5-5 08:48 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-22 04:05 , Processed in 0.045748 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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