ファイルの保存場所をチェックするマクロのメモ書きです。
Option Explicit
'動作テスト用
Sub CallCheckLocalDisk()
Dim filePath As String: filePath = ThisWorkbook.Path
Dim isLocalDrive As Boolean: isLocalDrive = CheckLocalDisk(a_filePath:=filePath)
If isLocalDrive Then
MsgBox ("ファイルの保存場所はローカルディスクです。")
Else
MsgBox ("ファイルの保存場所はローカルディスクではありません。")
End If
End Sub
'ファイルの保存されている場所がローカルディスクかどうか判別してbool値を返す。
Function CheckLocalDisk(ByVal a_filePath As String) As Boolean
Dim fso As Object: Set fso = CreateObject("Scripting.FileSystemObject")
Dim driveName As String: driveName = fso.GetDriveName(a_filePath)
Dim driveType As Long
'ドライブの種類を判別
If driveName = "" Then
driveType = 0 '不明
Else
driveType = fso.GetDrive(driveName).driveType
End If
'ローカルディスクの場合True、それ以外はFalseを返す
Select Case driveType
Case 1: CheckLocalDisk = True 'リムーバブルディスク
Case 2: CheckLocalDisk = True 'ハードディスク
Case Else: CheckLocalDisk = False '不明、ネットワークドライブ、CDドライブなど
End Select
End Function