VBA实现批量图片格式转换

13 篇文章 0 订阅
9 篇文章 1 订阅

提到图片格式转换,大家肯定会想到大名鼎鼎的PS,只是为了转换图片格式,就需要再电脑中安排这么一个庞然大物,并且其操作界面有些太专(复)业(杂),逐个打开图片文件进行操作,也比较耗费时间,其实VBA中也可以轻松实现批量图片格式转换。

WIA的滤镜功能可以轻松实现图片格式转换,几行代码将够用了。
示例代码如下。

Sub Demo()
    Dim objWIA_IMG As Object
    Dim objWIA_PRO As Object
    Const STR_WIA_BMP = "{B96B3CAB-0728-11D3-9D7B-0000F81EF32E}"
    Const STR_WIA_PNG = "{B96B3CAF-0728-11D3-9D7B-0000F81EF32E}"
    Const STR_WIA_GIF = "{B96B3CB0-0728-11D3-9D7B-0000F81EF32E}"
    Const STR_WIA_JPEG = "{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}"
    Const STR_WIA_TIFF = "{B96B3CB1-0728-11D3-9D7B-0000F81EF32E}"
    Set objWIA_IMG = CreateObject("WIA.ImageFile")
    Set objWIA_PRO = CreateObject("WIA.ImageProcess")
    objWIA_IMG.LoadFile "C:\Temp\1.jpg"
    objWIA_PRO.Filters.Add objWIA_PRO.FilterInfos("Convert").FilterID
    objWIA_PRO.Filters(1).Properties("FormatID").Value = STR_WIA_PNG
    Set objWIA_IMG = objWIA_PRO.Apply(objWIA_IMG)
    On Error Resume Next
    Kill "C:\Temp\1.png"
    On Error GoTo 0
    objWIA_IMG.SaveFile "C:\Temp\1.png"
    Set objWIA_IMG = Nothing
    Set objWIA_PRO = Nothing
End Sub

【代码解析】
第4~8行代码定义图片格式相关常量。
第9行代码创建WIA.ImageFile对象,用于加载图片。
第10行代码创建WIA.ImageProcess对象,用于转换图片格式。
第11行代码加载JPG图片文件。
第12行代码增加转换滤镜。
第13行代码设置滤镜格式为PNG。
第14行代码应用转换滤镜实现图片格式转换。
第15~17行代码删除目标文件,以避免称重名文件产生运行时错误。
第18行代码将转换后的图片保存为PNG文件。
第19~20行代码释放对象变量占用的系统资源。


批量处理图片文件,只需要使用Dir或者FSO获取文件名,再由循环结构依次处理即可。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Office百宝箱29.0是著名微软办公软件Office(Microsoft Office of Addins)增强超级大型插件。包括380个菜单功能和200个左右自定义函数,集580个宝贝于一身,但体积小于30MB。当安装Office百宝箱后,分别会在Excel、Word、PowerPoint、Outlook、Publisher、Access、VBA编译器等的主程序界面将产生【万能百宝箱】菜单及相应的扩展功能菜单或函数。总共包括380多个子菜单,并在Excel 2016或者2013中将产生【经典】与【万能百宝箱】功能区,而在其函数向导对话框中也新增200个左右新的Excel函数。Office百宝箱多国语言全家福版,包括Excel万能百宝箱、Word万能百宝箱、PPT百宝箱、Outlook万能百宝箱、Office编程百宝箱、Publisher万能百宝箱、VBA百宝箱、Access百宝箱等。所有功能Office2003--Office2019+繁简体通用,XP至WIN10繁简系统通用。功能适用于Office 2003、2007、2010、2013、2016、2019。支持中英文显示与繁简体操作系统、拥有30多款华丽的皮肤界面。Office百宝箱全家福系列,为中汛软件科技公司(梁瑞春)荣誉出品,现有: Excel万能百宝箱、Word百宝箱、PowerPoint百宝箱、Outlook百宝箱、Publisher百宝箱、Access百宝箱、VBA百宝箱、WPS百宝箱、Office编程百宝箱、银河ERP企业管理平台、银河ERP等企业信息化办公系列产品,欲知更多资讯,敬请登录软件版权作者(Jackey.Liang--梁瑞春) 中汛软件科技官方网站。图片批量尺寸及嵌表格式导图、导入多行列图片具备18项可设置参数,多达80种组合导入方式,满足各行业不同需求的图片导入导出与规范排版。表达式计算精灵让数学函数及复杂公式表达式全自动计算一切变得那么轻巧与高效,且能与EXCEL智能交互操作。工程解密功能可以解除VBA工程不可查看的OFFICE工程文档,解除后重新打开文档可100%准确还原源代码,是VBA开发者的必备利器。采用字典补码查漏纠错技术实现台湾繁体系统中繁简转换与GB2BIG5转换准确率达100%,达到微软同效功能。每款功能千锤百炼。更内置了比Vlookup()函数更强大且好用的VlookupIn()函数。能对VBA宏程式能实现撤销与还原操作,防止鼠标误点功能与误操作。在EXCEL另存DBF功能的基础上还可以轻松实现对所有SQL数据库(*.DBF)文件进行加密或解密操作,防止重要内容不被随意读写操作。全能语音朗读器具备英语学习复读机的功效可重复及延时朗读。存储格朗读机即时响应按回车时朗读指定的或偏移行列的存储格内容。原创批量图片排序功能,誉为“图片排版大师”,有21种样式可选,能批量将工作表中指定存储格范围的图片快速排序并输出到新表中。原创无穷加密与解密功能,能对选定的存储格或文本内容进行军方级加密保护,使其显示只包括英文字母与数字及标点符号的“乱码”。支持XP至WIN10多个操作系统完美兼容,实现无缝隙对接,U盘版用户除了在原有可换机使用的基础上,实现XP/WIN7/WIN8/WIN10通行无阻。批量二维码识别、批量二维码生成、表格数据汇总、全自动检索录入、批量图片大小、批量导图、批量导入批注、等功能一应俱全。原创Office编程百宝箱,集30多个VBA开发功能,为广大VBA编程爱好者的福音与必备利器。轻松实现一键关机、一键开机、锁机待机等。由全球顶尖级水平微软MVP专家与财会管理信息团队历时多年开发,是与OFFICE用户与爱好者共同努力的结晶,被誉为'全能的办公瑞士军刀'。
Excel百宝箱 9.0 破解版 批量导入图片等200种功能 Excel2007 Excel百宝箱2012是强大的制表插件,当安装百宝箱后,如果您使用Excel 2003,则将产生【百宝箱】菜单,包括100多个子菜单;如果您使用Excel 2007或者2010,将产生【百宝箱】和【字符分离】两个功能区选项卡。另外,在“函数向导”对话框中会生成28个新的函数,用于扩展Excel的计算功能。且所有功能都通用于Excel 2002、2003、2007和2010。  Excel百宝箱 79个菜单工具的功能介绍如下: 功能名称功能介绍 【公农双历查询】生成多功能日历,可以查询所有节、假日和农历 【高级定位】多功能选择(查找)工具。可以选择大于某值或者小于某值或者在某范围之间的值,文本定位时支持通配符,在8.0版本开始还加了按格式定位、按格式计算功能。例如选择并计算红色区域,或者选择字号为20、字体为宋体的区域,再如选择加粗且倾斜的区域等等 【选区背景着色】将选择的行进行颜色标示,以突出当前行,有利于数据查看。可以随心所欲地定义颜色,还可以自由调整颜色的深浅。本工具相对于同类工具有不破坏背景色、条件格式、复制粘贴和撤消功能之优点 【环境设置】设置工作表界面视图,控制各项目的显示与隐藏 【修改文件时间】随心所欲修改文件的创建时间,包括年月日时分秒 【按颜色汇总】按背景色对选区的数据合类合计 【反向选择】选择当前区域中未选择的区域 【保护公式】保护当前工作表所有公式,不让人看到公式本身,只能看到公式结果。 【生成千年日历】工单元格中生成千年日期。默认显示本月的日历,可以自由调整年月。 【生成斜线表头】Excel没有Word那样的斜线表头工具,本工具可以弥补此不足。包括单线、双线可选 【百家姓与字母序列】运行后可以在单元格中进行百家姓与字母填充,提升录入速度 【一键隐藏非使用区】对空白区域瞬间隐藏起来。可以选择作用对象是当前表还是所有工作表。恢复时也只要瞬间完成(不到1秒) 【文本、数字分离与计算】批量地对单元格进行文本、数字分离,还可以计算取出的表达式 【删除空单元格】删除选区中空单元格,下面的单元向上移动 【按列倒置】将选区中每列的数据倒序存放 【按行倒置】将选区中每行的数据倒序存放 【转置选区】将选区转置一个方向存放,即纵向转换成横向 【字母大小写转换】将选区的英文单词在大写与小写间切换,也可以首字母大写其它小写 【小写金额转大写】将小写金额批量转换成大写 【大写金额转小写】将大写金额批量转换成小写 【区域数据加密】对工作表选区的数据进行加密,转换成乱码,有密码才可以查看。第二次执行时可以恢复数据 【简体转繁体】将简体字批量转换成繁体 【繁体转简体】将繁体字批量转换成简体 【根据工资计算钞票】根据员工的工资计算需要多少张100元、50元......1元的钞票,可以批量计算。发现金工资的财务工作者必备 【隔行插入行】对工作表隔行插入行,或者隔列插入列,其中行数可以自定义 【折分工作簿】将指定工作簿的每个工作表拆分成单独的工作簿,新工作簿名称等于原工作表名称 【工作表折分】将当前工作表的数据按条件拆分成多个工作表,可以用任意列的数据做为拆分条件 【合并工作簿】将指文件夹中所有工作簿中所有工作表数据合并起来。有两种合并方式 【文本与数值互换】将选区的数字瞬间转换成文本;将选区的文本型数字瞬间转换成数值 【复选框工具】批量生成复选框(方框中打勾的工具),批量选定、取消复选框。且可以定义复框是否可以打印、与单元格链接等等 【报表分栏工具箱】Word有分栏功能,本工具使Excel也具有同栏功能。当数据列数太少浪费打印纸张时,可以用本工具分成多栏再打印 【制作工资条】瞬间将工资明细表生成工资条,方便打印并裁剪。可以自己定义工资条头的行数 【删除工资条恢复明细表】删除前一工具生成的工资条头,恢复明细表 【建立分页小计】将每页数据建立小计和累计,且自动分页,小计和累计在每页最末处 【删除分页小计】删除小计与累计,恢复明细表 【合并到选区】将一个单元格的值合到一个区域中去,可以插入到原字符之前也可以插入到原字符之后 【可还原的合并居中】合并居中数据,可以保留合并前的所有数据。而且取消合并后可以还原数据,强过Excel自带的合并 居中多倍 【合并列中相同值】对一列中相同且相邻的数据区域进行合并居中 【取消合并还原合并数据】对一列中合并后的单元格取消合并,且恢复合并前所有数据 【合并数据并复制】可以将一个区域的数据直接复制到一个单元格中 【建立图片目录】对指定文件夹下所有图片(GIF、PNG、JPG、JPEG四种格式)建立目录 ,包括名称目录及批量导入图片,可以自由设置其大小 【批量导入图片(精确匹配)】根据选区的文件名瞬间导入所有同名图片到单元格,可以自由设定图片的大小及格式 【批量导入图片(模糊匹配)】与上一工具基本一致,只是在确定图片名称时可以糊模匹配。即选择“张”可以导入所有姓张的人的照片 【批量导入图片到批注】批量地将图片导入到批注中,可以自由设定图片显示大小 【添加个性批注】Excel本身只有方形批注,本工具可以生各种花样的变体批注,美观大方 【图片查询工具】对工作表中插入的图片进行查询,像引用产品单价一样方便、直观 【删除所有图片】删除当前表所有图片批量导出图片】将当前表所有嵌入的图片导出到硬盘中成为JPG图片 【保存为图片】将选区或者工作表中的图片导出成JPG文件或者PNG图片 【生成个性化批注】Excel本身只有方形批注,本工具可以生各种花样的变体批注,美观大方 【插入GIF动画】将GIF动画插入到工作表中播放,可以随意定制GIF的大小和位置 【插入FLASH动画】将Flash动画嵌入到工作表中,并播放,可以随意定制Flash动画的显示大小和位置。动画嵌入工作表中,删除FLASH原文件不影响Excel中的效果 【提取选区不重复值】将选择区域的数据,置于当前列中,忽略重复值 【清除列中重复值】将选择中重复出现的数据删除(提供保留第一次出现还是最后一次出现的数据 的选择机会,也提供是否对删除数据加背景色突出的选择机会) 【标示重复值】将重复出现的数据用 颜色标示出来,不同值使用不同颜色,通常用于学号、身份证号、订单号等等有唯一性质的数据检查 【禁止录入重复值】对指定的列进行录入控制,输入重复数据时提示有重复以及重复次数 【删除空白单元格所在行】输入1则删除空白行(整行空白),输入2则删除空白单元格所在行 【筛选唯一值】以选择区域左边一列为条件进行唯一值筛选,输入1则删除重复值所在行,输入2则隐藏重复值所在行 【建文件目录】对指定文件夹中的文件建立目录,且生成链接,单击可以打开对应的文件 【建工作表目录】对当前工作簿的所有工作表建立目录与编号,且生成链接,单击可以打开工作表 【批量新建/复制工作表】批量新建或者复制工作表,可以瞬间建立/复制1到255个。还可以在新建或复制时全自动命名 【批量加解密】批量对工作表进行加密码、解除密码(只能批量解除自己设置的密码) 【破解工作表/簿密码】可以破解工作表密码和工作簿密码。在不知道密码的前提下找回密码 【批量命名文件】对指定文件夹下所有文件进行重命名。可以限定文件类型或者对所有类型文件进行命名。可以在原文件名前或者后插入新名称,也可以替换原名称 【工作表批量命名】对活动工作簿中所有工作表进行批量地改名 【打印当前页】仅仅打印当前鼠标所在页,忽略其它数据 【双面打印】打印双面小册子专用 【打印底端标题】将最后几行做为底端标题进行打印,弥补Excel只有顶端标题之不足 【生成系统图标】VBA编程人员常用的工具。可以查询Excel内部图标的ID号 【获取内置命令ID】VBA编程人员常用的工具。可以查询Excel内部命令的ID号 【按颜色筛选】让Excel 2003也可以按背景色筛选数据,2007或者2010用户不需要使用 【按颜色排序】让Excel 2003也可以按背景色筛选排序,2007或者2010用户不需要使用 【修复Excel】当您的Excel某些功能无法使用时,或者无缘无故多出很多菜单、工具栏时,本工具可以瞬间恢复Excel到默认状态 【破解VBA密码】将有密码的VBA代码破解,直接打开即可修改代码。包括工程不可查看类的破解 【多区域复制】突破Excel的限制,可以对选择的多个区域进复制与粘贴,在右键菜单中调用 【返回首页】配合“建立工作表目录”工具使用,可以在任何工作表中瞬间返回第一个工作表 Excel百宝箱 26个函数功能介绍如下: 函数名称功能介绍 sumifcol按颜色进行条件求和。有三个区域引用参数,其中第三参数为可选参数。第一参数为参照区域,第二参数为颜色条件,第三参数为求和区域,即第一参数中颜色与第二参数相同,则将对应的第三参数的单元格进行求和。如果省略第三参数则对第一参数求和 AVER评分函数。计算参数区域中去除最大值与最小值之再求平均,参数个数有255个(Excel2003中是1到30个) hesum左右合并再求和。将1/2类型的数字换算成1.5类型数据后再求和;若为12则按12计算,若为1/2则按1.5计算 NOWW不改变的当前时间。不需要参数,输入的时间表示现在的时间,但不随时间改变而改变 SFZ身份证相关信息函数。第一参数为引用,第二参数输入“DQ”取返回地区,输入“XB”则返回性别,输入“SR”则返回生日。忽略第二参数则默认显示地区 Sheet创建工作表目录函。一个参数,输入工作表地址即返回工作表名,单击该工作表名进入对应的工作表 File用于创建带链接的文件目录,有三个参数,第一参数指定路径,第二参数定指文件类型。第三参数指定编号(数量) 大写将阿拉伯数字转为人民币金额大写。仅需要一个参数,即单元格引用 批注提取批注中的文字。只有一个参数,即单元格引用 合并将区域字符合并。第一参数为分割符,第二参数为引用区域。可以用""表示不使用分割符。第三参数开始为引用区域,可以有1到254个区域(Excel2003中是1到29个)。也还可以直接用文本做参数 取数分离数字与文本。第一参数为单元格;第二参数为可选参数,当为0或者省略时表示取出数字;为1时表示排除数字;为2时表示取出数字与运算符;为3则提取数字与运算符且计算结果 唯一值返回不重复值。可以对1到253(Excel2003中是1到28个)个区域取唯一值;前三个为必选参数,其余为可选参数。第一参数为ROW时先行后列取值,为COLUMN时先列后行(不分大小写),第三参数开始为引用区域 消除空值消除空值函数。可以选择多行多列,按先行后列之方式返回值.两个参数,一为区域一为序号 颜色求和按背景颜色对区域值求和。第一参数为参照值,第二参数为求和区域 颜色计数按背景颜色计算区域中同背景之数据个数。第一参数为参照值。第二参数为计数区域 工作表取工作表名。一个参数,输入工作表地址即返回工作表名 数字与“大写”函数相反,将大写字符转换为阿拉伯数字 分割取数按分割符取数。第一参数为单元格,第二参数表示取第N个,第三个参数表示分割符 共有项返回两个区域共有项目。前两个参数为区域,第三参数为序号 不同项返回第一区域中有而第二区域没有的项目。前两个参数是区域,第三参数为序号 公式公式函数。提取单元格中的公式,只需要一个参数,单元格引用 计算计算函数。计算单元格中的表达式,如单元格中为“456+2”,则计算其结果458。只需要一个参数,单元格引用 公式长度计算单元格中公式的长度,一个参数即单元格引用 排名中国式排名函数。即名次不间断,当两人并列第二名时,仍然存在第三名。有两个参数,第一参数为成绩区域,第二参数为待排名的成绩。参数不局限于区域引用 排序按出现次数排序。对引用数据将出现次数多的字符串排列在第一位,然后依次降序排列所有数据。有两个参数,第一参数为数据区域引用,第二参数为名次,可使用ROW(a1) 替换替换第N次出现的字符串的函数。第一参数为引用,第二参数为待替换字符串,第三参数为新字符串,第四参数用于指定替换第几次出现的字符,范围在1到256之间 重复判断指定区域中是否有重复单元格的函数只有一个参数即为引用,结果为True时表示有重复,否则无重复   对于无法安装的朋友请注意以下4点 : 一:必须是完整版OFFICE,不能是绿色版、精简版,它们不支持COM加载宏 二:必须关闭Excel状态下安装或者删除工具,安装后重启Excel即可 三:如果是VISTA或WIN 7,必须以管理员用户安装,且从控制面板中关掉用户帐户控制(UAC)功能 四:如果您装了其它的EXCEL工具,请先关掉它,它们有可能删除本工具的菜单

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值