| 
    
     |  | こんにちは。かみちゃん です。 
 >しかし、「型が一致しません」と
 >filedate = CLng(DateValue(Format(Left(Right(vntFileName(i), 12), 6), "00\/00\/00")))
 >でエラーになります。
 
 MsgBox Left(Right(vntFileName(i), 12), 6)
 で何と表示されるか教えてください。
 060317
 などではないものが表示されているのではないでしょうか?
 
 私が提示したコードは、「12」ではなく「13」としているのですが・・・
 
 >下記の意味を教えていただけませんか
 >>もちろん、日付でない場合は、エラーになりますので、その対処がいるかもしれません。
 
 上記のように「型が一致しません」となる場合もあるということです。
 
 たとえば、こんな感じです。
 
 Sub Macro1()
 Dim strFileName As String
 Dim filedate
 
 strFileName = "050301rog.txt"
 
 '日付形式かどうかを判断
 If IsDate(Format(Left(Right(strFileName, 13), 6), "00\/00\/00")) Then
 filedate = CLng(DateValue(Format(Left(Right(strFileName, 13), 6), "00\/00\/00")))
 MsgBox filedate
 Else
 MsgBox "日付ではありません " & Left(Right(strFileName, 13), 6)
 End If
 End Sub
 
 |  |