Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Plattenspeicher auslesen

Gruppe

System

Problem

Wie kann ich den Plattenspeicher auslesen?

Lösung
Geben Sie den nachfolgenden Code in ein Standardmodul ein und weisen Sie ihn einer Schaltfläche zu.

StandardModule: basMain

Declare Function GetDiskFreeSpace Lib "kernel32" _
   Alias "GetDiskFreeSpaceA" (ByVal lpRootPathName As String, _
   lpSectorsPerCluster As Long, lpBytesPerSector As Long, _
   lpNumberOfFreeClusters As Long, lpTtoalNumberOfClusters As Long) _
   As Long

Sub Aufruf()
   Dim sLW As String
   sLW = InputBox("Laufwerk:", , "c")
   If sLW = "" Then Exit Sub
   MsgBox Plattenspeicher(sLW)
End Sub

Function Plattenspeicher(Laufwerksbuchstabe As String) As Long
   Dim lRet As Long
   Dim SectorsPerCluster As Long
   Dim BytesPerSector As Long
   Dim NumberofFreeClusters As Long
   Dim TotalClusters As Long
   Dim DLetter As String
   DLetter = Left(Laufwerksbuchstabe, 1) & ":\"
   lRet = GetDiskFreeSpace(DLetter, SectorsPerCluster, BytesPerSector, _
      NumberofFreeClusters, TotalClusters)
   If lRet = 0 Then 'Error occurred
      Plattenspeicher = -99
      Exit Function
   End If
   Plattenspeicher = (SectorsPerCluster * BytesPerSector * TotalClusters)
End Function