VBA:【FSO】ファイルの実行場所のチェック「FileSystemObject」
それを防ぐために、どこに保存されているファイルを開いているかのチェックをすることが「File System Object(FSO)」を利用することで可能になります。
◆ファイルの実行場所チェック
以下をExcel等で実行すると、そのファイルがサーバなどネットワークドライブにあるかないかのチェックができます。
※FSOを実行するには、VBEの「参照設定」で「Microsoft Scripting Runtime」が有効になっている必要があります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
Sub ファイルの実行場所チェック() Dim FSO As Object Dim File As Object Dim drType As Integer Set FSO = CreateObject("Scripting.FileSystemObject") Set File = FSO.GetFile(ThisWorkbook.FullName) drType = FSO.GetDrive(File.Drive).DriveType '0:TAA' '1:リムーバブルディスク' '2:ハードディスク' '3:ネットワークドライブ' '4:CD-ROM' '5:RAMディスク' If drType = 3 Then MsgBox "ネットワーク上で開かないでください" Else MsgBox "ネットワークドライブ以外" End If Set File = Nothing Set FSO = Nothing End Sub |