ディスクの空き容量の取得 : Excel(エクセル)

Excel Tipsメニューに戻る

スポンサーリンク



ExcelシートのVBAコード

Option Explicit

'空き容量を取得するWindowsAPI
Private Declare Function GetDiskFreeSpaceEx Lib "kernel32" _
    Alias "GetDiskFreeSpaceExA" (ByVal lpDirectoryName As String, _
    lpFreeBytesAvailableToCaller As Currency, _
    lpTotalNumberOfBytes As Currency, _
    lpTotalNumberOfFreeBytes As Currency) As Long

'空き容量を取得を実行
Public Sub ExGetDiskFreeSpace(Drive As String, freeBytesAvailable As Currency, _
    totalNumberOfBytes As Currency, totalNumberOfFreeBytes As Currency)

    GetDiskFreeSpaceEx Drive, freeBytesAvailable, totalNumberOfBytes, totalNumberOfFreeBytes
    '通貨型を10000倍すると取得する数値となる
    freeBytesAvailable = freeBytesAvailable * 10000
    totalNumberOfBytes = totalNumberOfBytes * 10000
    totalNumberOfFreeBytes = totalNumberOfFreeBytes * 10000
End Sub

Private Sub CommandButton1_Click()
    '調べるフォルダ名
    Dim sDir As String
    'ユーザーが利用可能な空き容量
    Dim freeBytesAvailable As Currency
    'ディスク総容量
    Dim totalNumberOfBytes As Currency
    'ディスクの空き容量
    Dim totalNumberOfFreeBytes As Currency
    Dim s1 As String
    
    sDir = "c:\"
    ExGetDiskFreeSpace sDir, freeBytesAvailable, totalNumberOfBytes, totalNumberOfFreeBytes

    '結果表示
    Range("B8") = "ドライブ:" & sDir & vbCrLf & _
        "利用可能な" & vbCrLf & _
        "空容量: " & Format$(Format$(freeBytesAvailable, "#,##0"), "@@@@@@@@@@@@@@@ Byte") & vbCrLf & _
        "総容量: " & Format$(Format$(totalNumberOfBytes, "#,##0"), "@@@@@@@@@@@@@@@ Byte") & vbCrLf & _
        "空容量: " & Format$(Format$(totalNumberOfFreeBytes, "#,##0"), "@@@@@@@@@@@@@@@ Byte")
End Sub

スポンサーリンク



実行結果 Excel画面]
Byte数で表示

Excel Tipsメニューへ

スポンサーリンク






■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved