フォルダかファイルを判定する関数
引数のパスがフォルダかファイルを判定する関数です。
引数 filePath:移動元のファイルパス
戻り値 -1~3の値。(0:フォルダ、1:ファイルへのショートカット、2:URLショートカット、3:ファイル、-1:不明)
Public Function judgeFolderOrFile(ByVal filePath As String) As Long
Dim rtn
Dim fso
Dim strExName
On Error Resume Next
rtn = -1 '-1:不明
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FolderExists(filePath) Then
rtn = 0 '0:フォルダ
Else
If fso.FileExists(filePath) Then
strExName = fso.GetExtensionName(filePath)
Select Case UCase(strExName)
Case "LNK": rtn = 1 '1:ファイル(ショートカット)
Case "URL": rtn = 2 '2:ファイル(URLショートカット)
Case Else: rtn = 3 '3:ファイル
End Select
End If
End If
Set fso = Nothing
judgeFolderOrFile = rtn
End Function
実行例
Debug.Print judgeFolderOrFile("C:\test\testfile.txt")
' 3