利用VBA自動(dòng)獲取圖片信息
--- 簡(jiǎn)介在日常工作中,經(jīng)常需要從文件夾中獲取大量圖片的信息,比如文件名、類型、大小、像素尺寸等,然后錄入Excel表格以便管理。手動(dòng)一個(gè)個(gè)輸入這些信息費(fèi)時(shí)費(fèi)力,而使用VBA程序可以輕松實(shí)現(xiàn)自動(dòng)化錄
---
簡(jiǎn)介
在日常工作中,經(jīng)常需要從文件夾中獲取大量圖片的信息,比如文件名、類型、大小、像素尺寸等,然后錄入Excel表格以便管理。手動(dòng)一個(gè)個(gè)輸入這些信息費(fèi)時(shí)費(fèi)力,而使用VBA程序可以輕松實(shí)現(xiàn)自動(dòng)化錄入,省時(shí)省力。
步驟一:打開(kāi)VBA編輯器
1. 打開(kāi)Excel表格后,按下【Alt F11】組合鍵,打開(kāi)VBA編輯器。
2. 在VBA編輯器的菜單欄上點(diǎn)擊【插入】、【模塊】。
步驟二:編寫VBA程序
在模塊的代碼窗口中輸入以下VBA程序,并按下【F5】鍵運(yùn)行程序:
```vba
Sub GetPicturesInfo()
Dim fs, fo, fi, str, i, picture
False '關(guān)閉屏幕更新
On Error Resume Next '忽略可能出現(xiàn)的錯(cuò)誤
i 1 '初始化,從第二行開(kāi)始
Set mysheet1 ("Sheet1") '定義Sheet1工作表
Set mysheet2 ("Sheet2") '定義Sheet1工作表
Set fs CreateObject("") '創(chuàng)建并返回對(duì)計(jì)算機(jī)系統(tǒng)文件的訪問(wèn)
Set fo ("D:ABC") '定義文件夾,“ABC”為D盤下的文件夾
Set fi '定義文件夾下所有文件集
For Each picture In fi '獲取文件夾里所有文件
i i 1 '每執(zhí)行一次循環(huán)遞增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) '創(chuàng)建時(shí)間
'刪除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 '恢復(fù)屏幕更新
End Sub
```
結(jié)果展示與解讀
程序運(yùn)行結(jié)果如下,通過(guò)VBA訪問(wèn)計(jì)算機(jī)文件系統(tǒng)信息,逐一掃描文件夾內(nèi)的文件,獲取文件信息并錄入Excel表格。圖片大小轉(zhuǎn)換為KB單位,插入Excel中進(jìn)行像素放大以獲取準(zhǔn)確的像素尺寸。
調(diào)試與優(yōu)化
在編寫程序時(shí),重要的是實(shí)時(shí)調(diào)試和優(yōu)化,注意程序中可能出現(xiàn)的錯(cuò)誤并逐步修正。可通過(guò)屏蔽影響調(diào)試的部分,逐行運(yùn)行程序并查看執(zhí)行結(jié)果,及時(shí)發(fā)現(xiàn)并糾正錯(cuò)誤,保證程序的準(zhǔn)確性和穩(wěn)定性。
通過(guò)以上步驟,利用VBA自動(dòng)獲取圖片信息將會(huì)提高工作效率,減少繁瑣的手動(dòng)操作,使工作更加便捷高效。