2016 - 2024

感恩一路有你

利用VBA自动获取图片信息

浏览量:3054 时间:2024-03-22 20:35:54 作者:采采

---

简介

在日常工作中,经常需要从文件夹中获取大量图片的信息,比如文件名、类型、大小、像素尺寸等,然后录入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自动获取图片信息将会提高工作效率,减少繁琐的手动操作,使工作更加便捷高效。

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。