Home » FSO・FileSystemObjectの使い方 » ドライブの存在を確認する-FileSystemObject.DriveExists

ドライブの存在を確認する-FileSystemObject.DriveExists

ドライブの存在確認チェックを行うマクロ

「2013 vba ドライブの存在チェック」
「access vba ドライブが存在するか dir」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスがあることに気づきました。

ドライブが存在するかどうかを確認するVBA(Visual Basic for Applications)のコード・マクロを探している方による検索です。

[スポンサードリンク]

Dir関数ではドライブの存在確認はできない

「access vba ドライブが存在するか dir」
という検索をした方は、VBAのDir関数を使った、

ドライブの存在確認チェックを行うマクロ

以下のようなマクロを想定していたのでしょう。

Sub Sample()
 Dim msg As String
 If Dir("D:", vbDirectory) = "" Then
  msg = "存在しません。"
 Else
  msg = "存在します。"
 End If
 MsgBox msg
End Sub

Dir関数は、第1引数に指定されたパスで見つかったファイル名を返してきます。

Dir関数の第1引数に「D:\」や「D:」を指定することで、Dドライブが存在するかどうかを調べられそうに感じる方もいらっしゃることでしょう。

Dドライブに何らかのファイルやフォルダが存在していれば、上記のマクロでもOKなのですが、Dドライブにファイルが存在していないときには、ダメです。

Dドライブは存在しているけれど、ファイルやフォルダが存在していない場合、上記のマクロでは「存在しません。」と判定されてしまいます。

ドライブの存在確認を行うサンプルマクロ

ドライブの存在確認をVBAで行うには、FileSystemObjectを使うのが便利です。
Sub ドライブの存在確認を行う()
 With CreateObject("Scripting.FileSystemObject")
  If .DriveExists("D:") Then
   MsgBox "Dドライブが存在します。"
  Else
   MsgBox "Dドライブはありません。"
  End If
 End With
End Sub

FileSystemObjectオブジェクトには、ドライブが存在するかをチェックするDriveExistsメソッドが存在します。

ドライブの存在確認チェックを行うマクロ

FileSystemObject.DriveExistsメソッドは、指定されたドライブの存在をチェックして、TrueかFalseを返しますから、これを利用して作ったのが上記のマクロです。

最近のWindowsで、VBAが使える環境なら、上記のマクロはExcelでもWordでもPowerPointでも使えます。

最終更新日時:2019-01-10 11:48

[スポンサードリンク]

Home » FSO・FileSystemObjectの使い方 » ドライブの存在を確認する-FileSystemObject.DriveExists

「FSO・FileSystemObjectの使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.