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

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

用VBA我不会,但可以建一个批处理文件(*.bat),里面就一条命令
dir>list.xls
(说明:list 可以其他字符)
将.bat文件复制到相应的文件夹内,双击运行,就能将文件名及日期时间信息读到《list.xls》文件内。然后打开该文件,用分列的方法将文件名、日期、时间分放在不同单元格内。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-14
使用这个函数吧,可以得到文件的 创建时间 或 最后修改时间:
-------------------------
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追问

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

第2个回答  2013-01-14
创建一个FileSystemObject,然后getfile(),.datecreated就是文件创建时间,datelastmodified就是文件修改日期,datelastaccessed就是文件访问时间。。
第3个回答  2013-01-15
去文库找以下文件

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