我有许多JPEG图像文件(大约8,000!),我想将属性复制到excel中 - 文件名和拍摄特定照片的时间。
我喜欢它,如果有一种快速简便的方法将这些信息复制到单独的单元格中,而不是我必须单独输入它们。页面的格式很简单 - 日期,时间和名称三列。
我根本不是程序员,所以最简单的解决方案(如果有的话)和语言最有帮助!
干杯
答案 0 :(得分:0)
为什么我不能正常回答我发现这个有趣的无代码问题。
在Windows 7上,我可以使用下面的DateTaken
获取Shell
。我从之前的经验(参见get list of subdirs in vba)了解到Detailsof
可能因操作系统而异。
请更新以下代码以指向您的目录(目前 c:\ temp )
这适用于我,但确实在我尚未设法清理的日期字段中留下了其他字符(?
或CHR63
)
Sub JPG_Details()
Dim objShell As Object
Dim objFolder As Object
Dim objFolderItem As Object
Dim lngCnt As Long
'If StrDir is dimensioned as a string, ParseName fails. Weird but true
Dim strDir
Dim strFile As String
Dim X(1 To 10000, 1 To 3)
Set objShell = CreateObject("shell.application")
strDir = "C:\temp\"
Set objFolder = objShell.Namespace(strDir)
strFile = Dir(strDir & "*.jpg")
Do While Len(strFile) > 0
lngCnt = lngCnt + 1
Set objFolderItem = objFolder.ParseName(strFile)
X(lngCnt, 1) = strFile
X(lngCnt, 2) = Split(objFolder.GetDetailsOf(objFolderItem, 12), " ")(0)
X(lngCnt, 3) = Split(objFolder.GetDetailsOf(objFolderItem, 12), " ")(1)
strFile = Dir
Loop
[a1].Resize(UBound(X, 1), UBound(X, 2)).Value2 = X
End Sub