プロが教えるわが家の防犯対策術!

撮った写真の撮影日をファイル名にしようと考えています。カメラはキャノンで、ファイルプロパティの[概要]タブに詳細なプロパティが記述されており、そのなかに[カメラの撮影日]があります。それを取得したいのですがどうすればできるのでしょうか?あくまで撮影日で、作成日時とは違います。ファイルをコピーすると作成日時は変わってしまいあてにならないからです。VBA(エクセル)での操作でしかわからないので、VBA仕様でお答えいただければ助かります。

A 回答 (2件)

(1)エクセルVBA


(2)FSO
(3)API
でのやり方のうち(1)では
Sub test01()
For i = 1 To 9
x = ActiveWorkbook.BuiltinDocumentProperties(i).Value
Cells(i, 1) = x
Next i
End Sub
を見つけました。
http://www1.harenet.ne.jp/cgi-bin/cgiwrap/unaap/ …
そこに他に関連したことが多少書いてあるので見てください。
BuiltinDocumentPropertiesについては
http://www2.moug.net/cgi-bin/technic.cgi?exvba+T …
ほかこの語でWEB照会してください。
この語に行き当たるまでに苦労しました。
--------以下蛇足
(1)(2)は通常は、「作成日時とは違います」の作成日時のことを言及したものばかりでした。
Sub rest01()
Dim fso, f1
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.GetDrive("c:\")
Set fldr = fso.GetFolder("c:\My Documents\")
MsgBox "フォルダ名: " & fldr.Name
MsgBox fldr.Attributes
MsgBox fldr.datecreated
MsgBox fldr.Parentfolder
Set fl = fso.Getfile("c:\My Documents\aaaXX.xls")
MsgBox "フォルダ名: " & fl.Name
MsgBox fl.Attributes
MsgBox fl.datecreated
MsgBox fl.Parentfolder
End Sub

Option Explicit

' ファイルの属性の取得
Sub GET_ATTRIBUTE()
Const cnsTITLE = "ファイルの属性の取得"
Const cnsATTR = "このファイルの属性は"
Dim xlAPP As Application
Dim strFILENAME As String
Dim intAttr As Integer
Dim strMSG As String

Set xlAPP = Application
' ファイル名の指定
strFILENAME = _
xlAPP.GetOpenFilename("全てのファイル (*.*),*.*", , _
cnsTITLE)
If StrConv(strFILENAME, vbUpperCase) = "FALSE" Then
Exit Sub
End If

' ファイル属性の取得
intAttr = GetAttr(strFILENAME)
' ファイル属性の判定
strMSG = cnsATTR
If (intAttr And vbReadOnly) <> 0 Then
strMSG = strMSG & vbCr & "読み取り専用"
End If
If (intAttr And vbHidden) <> 0 Then
strMSG = strMSG & vbCr & "隠しファイル"
End If
If (intAttr And vbSystem) <> 0 Then
strMSG = strMSG & vbCr & "システムファイル"
End If
If (intAttr And vbDirectory) <> 0 Then
strMSG = strMSG & vbCr & "フォルダ"
End If
If (intAttr And vbArchive) <> 0 Then
strMSG = strMSG & vbCr & "アーカイブ"
End If
If (intAttr And vbNormal) <> 0 Then
strMSG = strMSG & vbCr & "通常ファイル"
End If
If strMSG = cnsATTR Then
strMSG = strMSG & vbCr & "属性=" & intAttr
End If
strMSG = strMSG & vbCr & "です。"

' 更新日時
strMSG = strMSG & vbCr & "更新日時は" & _
FileDateTime(strFILENAME)

' ファイルサイズ
strMSG = strMSG & vbCr & "サイズは" & _
FileLen(strFILENAME) & "バイトです。"

' 処理結果を表示
MsgBox strMSG
End Sub
のような属性を問題にしている。(以上WEBページより引用)
仰っている「ファイルプロパティの[概要]タブに詳細なプロパティ」はエクセル・ワードの場合のファイルの特別情報か?
良く判らぬ者が書いているので、あとは宜しく。
    • good
    • 0

こちらをどうぞ。



参考URL:http://hp.vector.co.jp/authors/VA031262/excel.html
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!