利用可能なすべてのドライブを取得する方法

◆概要


このページは、Visual Basic 6.0で利用可能なすべてのドライブを取得する方法について記載しています。


ファイルシステムオブジェクトを利用することで、利用可能なすべてのドライブを簡単に取得できます。

◆Sample code


フォームにラベルとコマンドボタン、List Viewを配置します。List Viewは、「Microsoft Windows Common Controls 6.0」に含まれています。 次のコードをフォームモジュールに追加し、実行してください。

Private Sub Command1_Click()
    Dim objFileSystem As Object
    Dim colDrives     As Object
    Dim objDrive      As Object

    ListView1.ListItems.Clear

    Set objFileSystem = CreateObject("Scripting.FileSystemObject")
    Set colDrives = objFileSystem.Drives
    
    For Each objDrive In colDrives
        With ListView1.ListItems.Add()
            .Text = objDrive.DriveLetter
            Select Case objDrive.DriveType
                Case 0
                    .SubItems(1) = "不明"
                Case 1
                    .SubItems(1) = "リムーバブルディスク"
                Case 2
                    .SubItems(1) = "ハードディスク"
                Case 3
                    .SubItems(1) = "ネットワークドライブ"
                Case 4
                    .SubItems(1) = "CD-ROM"
                Case 5
                    .SubItems(1) = "RAMディスク"
            End Select
        End With
    Next

    ' オブジェクトを解放
    Set objFileSystem = Nothing
    Set colDrives = Nothing
    Set objDrive = Nothing

End Sub

Private Sub Form_Load()
    Label1.Caption = "ドライブリスト"
    Command1.Caption = "実行"
    With ListView1
        .ColumnHeaders.Add , , "ドライブ"
        .ColumnHeaders.Add , , "種別"
        .View = lvwReport
    End With

End Sub

Private Sub Form_Resize()
    Const GRID_SIZE = 120

    With Command1
        .Move ScaleWidth - .Width - GRID_SIZE, ScaleHeight - .Height - GRID_SIZE
    End With

    With ListView1
        .Move GRID_SIZE, Label1.Top + Label1.Height, ScaleWidth - 2 * GRID_SIZE, _
        ScaleHeight - (Label1.Top + Label1.Height) - Command1.Height - 2 * GRID_SIZE
    End With

End Sub
  

◆実行結果


すべてのドライブを取得



▼ページトップへ