2015-07-20 73 views
0

我有一個文件夾,其中包含大量一年以來點擊的照片。 照片被不同的相機點擊,因此文件的名稱是不同的格式(遵循不同的模板),我想通過事件組織圖像,我想用make的日期按照a邏輯。
檢索從圖像元數據很容易,因爲我用這個代碼:如何從圖像獲取元數據類型(英文)

Public Sub GetMetadata() 
Dim objFSO As Object 
Dim objFolder As Object 

Set objFSO = CreateObject("Shell.Application") 
Set objFolder = objFSO.Namespace("C:\Users\fabrizio.carboni\Desktop\fotonido\") 

For i = 0 To 40 
    Debug.Print i, objFolder.GetDetailsOf(objFolder.Items, i) 
Next 

End Sub 

這裏是我的問題resut是意大利語:

0   Nome 
1   Dimensione 
2   Tipo elemento 
3   Ultima modifica 
4   Data creazione 
5   Data ultimo accesso 
6   Attributi 

如果我嘗試

For Each objFoto In objFolder.Items 
    'print file name 
    strFotoName = objFoto.Nome 
............ 

我收到一個錯誤,我如何爲每個元數據名稱檢索英文名稱?
對於微不足道的問題抱歉,但即使在谷歌上我也沒有找到解決方案。

回答

1

有兩種解決方法:

使用局部變量窗口來獲得這些屬性

enter image description here

使用早期綁定,使智能感知名稱:

添加Microsoft Shell Automation作爲參考(%Windir%\ System32 \ Shell32.dll)

enter image description here

編輯1:
根據您的評論,這裏是如何打印創建日期。簡單地切換每個循環的舊版本:

For Each element In objFolder.Items 
Debug.Print (objFolder.GetDetailsOf(element, 4)) 
Next 

4是創建日期的索引。你可以用其他細節來做同樣的事情。更多的信息在這裏:https://msdn.microsoft.com/en-us/library/windows/desktop/bb787870(v=vs.85).aspx

+0

make的日期不存在,也許我的問題可能會更簡單:我如何找到圖像元數據列表(如名稱,維度,類型,...)或更多的人可以讓我知道侯你說「數據自動化」 – Fabrizio

+0

我修改了我的答案。我希望它能回答你的問題。 –

+0

感謝蝙蝠4是創建文件的日期(例如,從USB複製到PC的時刻),而不是照片拍攝的日期 – Fabrizio