はじめに
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