Mit VB freien Speichplatz anzeigen

Hi Ihr,
Ich würde gerne mit VB den freien Speicherplatz auf diversen Laufwerken auslesen und anzeigen.Und die Werte in Tabellenspalten schreiben, was aber das kleinere Problem ist)
Tja, weiss mir da jemand n Link sonstwas?
Danke für Antworten

MfG
hEll

Hallo

ich hab da ein beispiel für dich:

du brauchst erstens mal ein textfeld (name: Text1)
und ein fso-Objekt
dann der code:

Dim fso As New FileSystemObject
Private Sub **Form\_Load()**
 Dim dr as drive
 Text1 = ""
 On Error Resume Next
 For Each dr in fso.drives
 Text1 = Text1 & dr & vbTab & FormatNumber(dr.aviablespace /1024 ^ 2, 1) & " MB frei" & vbTab & " [" & dr.VolumeName & ", " & dr.FileSystem & "] " & vbCrLf
 next
EndSub

Hi Ihr,
Ich würde gerne mit VB den freien Speicherplatz auf diversen
Laufwerken auslesen und anzeigen.Und die Werte in
Tabellenspalten schreiben, was aber das kleinere Problem ist)
Tja, weiss mir da jemand n Link sonstwas?
Danke für Antworten

Hallo

ich hab da ein beispiel für dich:

du brauchst erstens mal ein textfeld (name: Text1)
und ein fso-Objekt
dann der code:

Dim fso As New FileSystemObject
Private Sub Form_Load()
Dim dr as drive
Text1 = „“
On Error Resume Next
For Each dr in fso.drives
Text1 = Text1 & dr & vbTab & FormatNumber(dr.aviablespace
/1024 ^ 2, 1) & " MB frei" & vbTab & " [" & dr.VolumeName & ",
" & dr.FileSystem & "] " & vbCrLf
next
EndSub

thx für die flotte Antwort!
wie erzeuge ich ein FileSystemObject? *ma ganz doof frag*
:wink:
MfG
hEll

Hi Du

Ich würde gerne mit VB den freien Speicherplatz auf diversen
Laufwerken auslesen und anzeigen.Und die Werte in
Tabellenspalten schreiben, was aber das kleinere Problem ist)

Zu diesem Zweck habe ich folgende Funktion:

Option Explicit
Private Declare Function GetDiskFreeSpaceEx Lib "kernel32" Alias "GetDiskFreeSpaceExA" (ByVal lpRootPathName As String, lpFreeBytesAvailableToCaller As Currency, lpTotalNumberOfBytes As Currency, lpTotalNumberOfFreeBytes As Currency) As Long

' Ermittlung des freien Speicherplatzes eines Laufwerks (in Bytes)

Public Function FreeDskSpc(LaufWerk As String) As Currency
 Dim BytesFreeToCaller As Currency, TotalBytes As Currency, TotalFreeBytes As Currency
 Dim lw As String
 lw = Left(LaufWerk, 1) + ":"
 Call GetDiskFreeSpaceEx(lw, BytesFreeToCaller, TotalBytes, TotalFreeBytes)
 FreeDskSpc = BytesFreeToCaller \* 10000
End Function

Dieser Funktion muss ein Laufwerksbuchstabe übergeben werden und zurückgeliefert wird die Anzahl der auf diesem Laufwerk noch freien Bytes.

Das Beispiel von PChristoph habe ich übrigens mit VB6 nicht zum Laufen gebracht …

MfG
Roland

wie erzeuge ich ein FileSystemObject? *ma ganz doof frag*

In VB unter „Project“ / „References“ das Hackerl bei „Microsoft Scripting Runtime“ setzen. Dann kannst Du auf die Methoden und Properties zugreifen.

mehr dazu unter: http://msdn.microsoft.com/downloads/sample.asp?url=/…

Anbei noch die ausgebesserte Variante ohne TextBox.

greets from michL (vienna)

Dim fso As New FileSystemObject
Dim dr As Scripting.Drive
'
On Error Resume Next
For Each dr In fso.Drives
 Debug.Print dr.DriveLetter & vbTab & FormatNumber(dr.AvailableSpace / 1024 ^ 2, 1) & " MB frei" & vbTab & " [" & dr.VolumeName & ", " & dr.FileSystem & "] "
Next