利用VBA自动获取图片信息
---
简介
在日常工作中,经常需要从文件夹中获取大量图片的信息,比如文件名、类型、大小、像素尺寸等,然后录入Excel表格以便管理。手动一个个输入这些信息费时费力,而使用VBA程序可以轻松实现自动化录入,省时省力。
步骤一:打开VBA编辑器
1. 打开Excel表格后,按下【Alt F11】组合键,打开VBA编辑器。
2. 在VBA编辑器的菜单栏上点击【插入】、【模块】。
步骤二:编写VBA程序
在模块的代码窗口中输入以下VBA程序,并按下【F5】键运行程序:
```vba
Sub GetPicturesInfo()
Dim fs, fo, fi, str, i, picture
False '关闭屏幕更新
On Error Resume Next '忽略可能出现的错误
i 1 '初始化,从第二行开始
Set mysheet1 ("Sheet1") '定义Sheet1工作表
Set mysheet2 ("Sheet2") '定义Sheet1工作表
Set fs CreateObject("") '创建并返回对计算机系统文件的访问
Set fo ("D:ABC") '定义文件夹,“ABC”为D盘下的文件夹
Set fi '定义文件夹下所有文件集
For Each picture In fi '获取文件夹里所有文件
i i 1 '每执行一次循环递增1行
mysheet1.Cells(i, 1) '图片名称
mysheet1.Cells(i, 2) picture.Type '图片类型
mysheet1.Cells(i, 3) (() / 1024, 0) " KB" '图片大小
mysheet1.Cells(i, 5) '最后修改日期
mysheet1.Cells(i, 6) '创建时间
'删除Sheet2上所有图片
str "D:ABC" '图片文件路径
(str) '插入图片
1, msoTrue, msoScaleFromTopLeft '放大图片
If picture.Type "PNG 文件" Or picture.Type "GIF 图像" Then '处理PNG和GIF格式图片
mysheet1.Cells(i, 4) Round( / 0.75) " x " Round( / 0.75)
Else
mysheet1.Cells(i, 4) Round() " x " Round()
End If
Next
True '恢复屏幕更新
End Sub
```
结果展示与解读
程序运行结果如下,通过VBA访问计算机文件系统信息,逐一扫描文件夹内的文件,获取文件信息并录入Excel表格。图片大小转换为KB单位,插入Excel中进行像素放大以获取准确的像素尺寸。
调试与优化
在编写程序时,重要的是实时调试和优化,注意程序中可能出现的错误并逐步修正。可通过屏蔽影响调试的部分,逐行运行程序并查看执行结果,及时发现并纠正错误,保证程序的准确性和稳定性。
通过以上步骤,利用VBA自动获取图片信息将会提高工作效率,减少繁琐的手动操作,使工作更加便捷高效。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。