如何用EXCEL VBA批量提取JPG文件日期时间信息到表格中?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用EXCEL VBA批量提取JPG文件日期时间信息到表格中?相关的知识,希望对你有一定的参考价值。

我的工作中需要每天制作一个检查表,表中列出当天拍摄的所有照片(每天照几十张,并一一按照片内容改好名字,并存在一个文件夹内)的名称、拍照日期,同时照片插入到名称单元格的批注内。主要问题我用VBA已经解决了,就是不能自动读取并插入JPG文件的日期时间信息。可有高手帮忙,感激不尽。

使用这个函数吧,可以得到文件的 创建时间 或 最后修改时间:
-------------------------
Function iFileDate(iPh, n)
' 参数说明:
' iph 文件路径。
' n 时间类型。 1 为 创建时间;2 为 最后修改时间
If Dir(iPh) = "" Then Exit Function
Dim fs: Set fs = CreateObject("Scripting.FileSystemObject")
Dim f: Set f = fs.GetFile(iPh)
If n = 1 Then iFileDate = f.DateCreated
If n = 2 Then iFileDate = f.DateLastModified
End Function
---------------------

具体使用方法举例:
---------------
Sub iTest()
Dim iPh, iDate1, iDate2
iPh = "G:\D baiduHi\VBA 文件操作\a.xls"
If Dir(iPh) = "" Then
MsgBox "下面的文件不存在:" & vbCrLf & iPh, vbCritical
Exit Sub
End If
iDate1 = "  创建时间:" & vbTab & iFileDate(iPh, 1)
iDate2 = "最后修改时间:" & vbTab & iFileDate(iPh, 2)
MsgBox iPh & vbCrLf & iDate1 & vbCrLf & iDate2
End Sub追问

需做一定修改,你这个函数是非常好用的。

参考技术A 用VBA我不会,但可以建一个批处理文件(*.bat),里面就一条命令
dir>list.xls
(说明:list 可以其他字符)
将.bat文件复制到相应的文件夹内,双击运行,就能将文件名及日期时间信息读到《list.xls》文件内。然后打开该文件,用分列的方法将文件名、日期、时间分放在不同单元格内。
参考技术B 创建一个FileSystemObject,然后getfile(),.datecreated就是文件创建时间,datelastmodified就是文件修改日期,datelastaccessed就是文件访问时间。。 参考技术C 去文库找以下文件

批量提取JPG文件名拍摄时间并插入图片到批注本回答被提问者采纳

以上是关于如何用EXCEL VBA批量提取JPG文件日期时间信息到表格中?的主要内容,如果未能解决你的问题,请参考以下文章

如何用excel vba按关键字选择性的遍历文件夹搜索文件?

如何用vba实现在EXCEL固定区域坐标内点击单元格,显示日期控件

VBA如何批量抓取数据

如何用EXCEL里的数据对其它文件进行文件名批量的替换修改

如何用VBA宏程序将excel中的内容批量复制到word文档中去

如何用VBA宏程序将excel中的内容批量复制到word文档中去