利用可能なすべてのドライブを取得する方法
◆概要
このページは、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 |
◆実行結果