即効テクニック

ファイル操作関連のテクニック

ドライブの種類を取得する

(Excel 2000/2002/2003)
●概要●
DriveオブジェクトのDriveTypeプロパティを利用して、ドライブの種類を取得することができます。DriveTypeプロパティの戻り値は、DriveTypeConst列挙型の値になります。なお、DriveオブジェクトはFileSystemObjectの子オブジェクトです。


 構文 オブジェクト.DriveType
 設定項目    内容
 オブジェクト  Driveオブジェクト


 DriveTypeConst列挙型の値
 メンバ    値  説明
 UnknownType  0   不明
 Removable   1   リムーバブルディスク
 Fixed     2   固定ディスク
 Remote    3   ネットワークドライブ
 CDRom     4   CD-ROM ドライブ
 RamDisk    5   RAM ディスク

次のサンプルは、すべてのドライブの種類をDriveTypeプロパティを利用して、取得し、最後にメッセージボックスに表示します。
このとき、DriveLetterプロパティを利用して、ドライブレターを取得してドライブの種類と併せて表示するようにしています。
なお、ここではFileSystemObjectを利用するために、「Microsoft Scripting Runtime」に参照設定しています。


●サンプル●

Sub Sample()
    Dim FSObject As Scripting.FileSystemObject
    Dim TempDrive As Scripting.Drive
    Dim DriveTypeData As String
    Dim MsgData As String
    
    Set FSObject = New Scripting.FileSystemObject
    
    With FSObject
        For Each TempDrive In .Drives
            Select Case TempDrive.DriveType
                Case UnknownType
                    DriveTypeData = "不明"
                Case Removable
                    DriveTypeData = "リムーバブルディスク"
                Case Fixed
                    DriveTypeData = "固定ディスク"
                Case Remote
                    DriveTypeData = "ネットワークドライブ"
                Case CDRom
                    DriveTypeData = "CD-ROM ドライブ"
                Case RamDisk
                    DriveTypeData = "RAM ディスク"
            End Select
            MsgData = MsgData & TempDrive.DriveLetter & " : " _
                                        & DriveTypeData & vbCrLf
        Next
    End With
    
    MsgBox MsgData
    
    Set FSObject = Nothing
End Sub