2016-09-02
ExcelVBA覚書 このパスどこ?
このパスはローカルなのかネットワークサーバなのか・・・
とりあえず判定ロジックを作ってみた。
'ローカルならTrue、ネットワークならFalse
Public Function CheckLocal(filepath as String) As Boolean
Dim cap As String
Dim fso As Object
Dim obj As Object
'先頭が\なら確実にネットワーク
cap = Left(filepath, 1)
If cap = "\" Then
Exit Function
End If
'ドライブ割当のローカル/サーバ確認
Set fso = CreateObject("Scripting.FileSystemObject")
For Each obj In fso.Drives
If obj.DriveLetter = cap Then
If obj.DriveType = 3 Then
Else
CheckLocal = True
End If
Exit Function
End If
Next
'ここまで来たらどこかは不明
End Function