アプリケーションとしてのVBA Excel(エクセル) VBA の役立つ Tips の紹介

アプリケーションとしてのVBA

Driveオブジェクト プロパティ

Driveオブジェクト プロパティ


  Driveオブジェクトのプロパティを使用して、Driveの色々な情報を取得できます。

  以下の表の一覧にまとめました。
内容プロパティR/W
ドライブが使用可能かどうか調査するIsReady取得のみ
ドライブ全体の容量TotalSize取得のみ
ドライブの使用可能なディスク容量AvailableSpace取得のみ
ドライブの使用可能なディスク空き容量FreeSpace取得のみ
通常 AvailableSpace = FreeSpace です。
2 つの値が異なる可能性があるのは、OSがディスククォータ機能をサポートしている場合だけです。
ドライブの名前DriveLetter取得のみ
ボリュームの名前VolumeName取得のみ
ドライブの種類DriveType取得のみ
0: 不明
1: リムーバルディスク
2: ハードディスク
3: ネットワークドライブ
4: CD-ROM
5: RAMディスク
パスPath取得のみ
ルートフォルダRootFolder取得のみ
シリアル番号SerialNumber取得のみ
ドライブのネットワーク共有名ShareName取得のみ
ファイルシステムの種類FileSystem取得のみ

Sub DriveProperty()

    Dim Drive_Object As Object
    Dim DriveSpec As String
    
    DriveSpec = SelectDrivePath
    
    If DriveSpec = "" Then
        End
    End If
    
    'ドライブオブジェクトの取得
    Set Drive_Object = CreateObject _
              ("Scripting.FileSystemObject").GetDrive(DriveSpec)
    
    'ドライブが使用可能かどうか調査する
    If Drive_Object.IsReady Then
        
        'ドライブ全体の容量を取得する 取得のみ
        Range("B1") = Drive_Object.TotalSize

        'ドライブの使用可能なディスク容量を取得する 取得のみ
        Range("B2") = Drive_Object.AvailableSpace

        'ドライブの使用可能なディスク空き容量を取得する 取得のみ
        '通常 AvailableSpace = FreeSpace です
        '2 つの値が異なる可能性があるのは、ディスク クォータ機能を
        'サポートしている場合だけです。
        Range("B3") = Drive_Object.FreeSpace


        'ドライブの名前 取得のみ
        Range("B4") = Drive_Object.DriveLetter

        'ボリュームの名前 取得のみ
        Range("B5") = Drive_Object.VolumeName

        'ドライブの種類 取得のみ
        Select Case Drive_Object.DriveType

            Case 0: Range("B6") = "不明"
            Case 1: Range("B6") = "リムーバルディスク"
            Case 2: Range("B6") = "ハードディスク"
            Case 3: Range("B6") = "ネットワークドライブ"
            Case 4: Range("B6") = "CD-ROM"
            Case 5: Range("B6") = "RAMディスク"
        End Select


        'パス 取得のみ
        Range("B7") = Drive_Object.Path

        'ルートフォルダ 取得のみ
        Range("B8") = Drive_Object.RootFolder

        'シリアル番号 取得のみ
        Range("B9") = Drive_Object.SerialNumber

        'ドライブのネットワーク共有名 取得のみ
        Range("B10") = Drive_Object.ShareName

        'ファイルシステムの種類 取得のみ
        Range("B11") = Drive_Object.FileSystem

    Else
        MsgBox "ドライブの準備ができていません"
    End If


End Sub

Function SelectDrivePath() As String
    
    Dim Shell As Object
    
    Set Shell = CreateObject("Shell.Application"). _
                BrowseForFolder(0, "フォルダを選択してください", 0, "0")
    
    If Shell Is Nothing Then
        SelectDrivePath = ""
    Else
        SelectDrivePath = Shell.Items.Item.Path
    End If

End Function



example30 サンプルです 。


Copy (C) 2005   アプリケーションとしてのVBA   All Rights Reserved.