はじめに
ExcelVBAで処理をするときに、ファイル名、ファイルサイズ、更新日を取得したいというシチュエーションは結構ありました。
構成管理とかで不正に更新日が変わってないかとか手動でチェックするなんて非人道的な作業はマクロに任せましょう。
コピペで使えるExcelVBA
Function getFileInfo(path As String, needInfo As String)
Dim objFileSys As Object
Dim strScriptPath As String
Dim strFilePath As String
Dim objFile As Object
Dim rtnInfo As String
Set objFileSys = CreateObject("Scripting.FileSystemObject")
Set objFile = objFileSys.GetFile(path)
'第2引数に応じて情報を戻す
Select Case needInfo
Case "ファイル名"
rtnInfo = objFile.Name
Case "サイズ"
rtnInfo = objFile.Size
Case "最終更新日"
rtnInfo = toString(objFile.DateLastModified)
Case Else
rtnInfo = "-"
End Select
Set objFile = Nothing
Set objFileSys = Nothing
getFileInfo = rtnInfo
End Function