Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
408to412
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
408to412
408to412
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

FreeSpace

FreeSpace
Mischa
mahlzeit alle miteinander,
wie ging das nochmal mit der ermittlung des freien speicherplatzes eines laufwerks ( freespace ) - meine hilfe zeigt nix an.
hab die ms scripting schon eingebunden...
danke, mischa

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
neee
Mischa
naja, danke erstmal,
mir sind da aber bessere sources unter verwendung der ms scripting in erinnerung - ich finde die nur grad nirgends!
Mischa
:-(
Google..........oT
Boris
AW: neee
K.Rola
Hallo,
so in der Art:

Sub Freier_Speicher()
Dim objFSO As Object, objDrive As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
For Each objDrive In objFSO.Drives
On Error Resume Next 'Falls LW nicht bereit ist
MsgBox Format(objDrive.FreeSpace / 1024, "###,###,### KB")
Next
End Sub

Gruß K.Rola
Anzeige
OT: Was bin ich?
Persischer
Hi K.Rola,
...mal wieder saubere Programmierung - aber offengesagt versteh ich die Reinigungsfachkraft nicht...
Grüße Boris
AW: OT: Was bin ich?
K.Rola
Hallo Boris,
was verstehst du denn nicht? Ich hätte wohl {} darum machen sollen,
dann wärs kein Problem, oder?
Gruß K.Rola
AW: OT: Was bin ich?
Boris
Hi K.Rola,
...mal ganz im {Ernst}: Ich konnte den Mindboggler noch nicht "entboggeln"...
Und daher versteh ich auch die Putze nicht...
Grüße Boris
AW: OT: Was bin ich?
K.Rola
Hallo Boris,
Pointen soll man nicht erklären, vielleicht kommt der Aha-Effekt,
wenn du das später nochmal liest.
Eigentlicher Zweck war aber das Verdrehen des Textes(war mal eine
Frage hier im Forum).
Gruß K.Rola
Anzeige
So: FreeSpace !!
Mischa
gelöst hab ichs dann ohne scripting so:
danke für die Anteilnahme!
Mischa Richter
Option Explicit
Private UsrFree As String * 8
Private TotSize As String * 8
Private TotFree As String * 8
Private Const LW = "x:"
Private Declare Function GetDiskFreeSpaceEx Lib "kernel32" _
Alias "GetDiskFreeSpaceExA" (ByVal lpPathname As _
String, ByVal UserFree As Any, ByVal TotalSize As _
Any, ByVal TotalFree As Any) As Long
Sub auto_open()
Call start
ThisWorkbook.Save

'Beenden, bei automatischem Start:
If Hour(Time) Application.Quit
Else
MsgBox "Messung gespeichert", vbExclamation, "Messung für Laufwerk: " & LW
End If

End Sub
Public Sub start()
Call GetFreeDiskSpace(LW)

Dim msg As String
msg = "Speicher auf " & LW & vbCrLf & _
"Insgesamt: " & TotSize & vbCrLf & _
"Belegbar : " & TotFree & vbCrLf & _
"Frei : " & UsrFree

'MsgBox msg, vbExclamation, "Speicherplatz auf " & LW


ThisWorkbook.Worksheets("GB frei auf sok-003").Select
Range("a1").Activate
Selection.End(xlDown).Select
ActiveCell.Offset(1).Activate
ActiveCell.Value = Date
ActiveCell.Offset(0, 1).Activate
ActiveCell.Value = CLng(UsrFree) / 107500 'pauschale Annäherung
ActiveCell.Offset(0, 1).Activate
ActiveCell.Value = Time
End Sub

Private Function GetFreeDiskSpace(ByVal LW) As Double
Call GetDiskFreeSpaceEx(LW, UsrFree, TotSize, TotFree)
UsrFree = Format$(CvStr(UsrFree), "##,###,###,###")
TotSize = Format$(CvStr(TotSize), "##,###,###,###")
TotFree = Format$(CvStr(TotFree), "##,###,###,###")
End Function

Function CvStr(s) As Double
Dim i%, x As Double, p As Double
p = 1
For i = 1 To Len(s)
x = x + Asc(Mid(s, i, 1)) * p
p = p * 256
Next i
CvStr = x
End Function
Anzeige
AW: So: FreeSpace !!
K.Rola
Hallo,
ich hatte deine Antwort "Neee" so verstanden, dass du Scripting
wolltest?
K.Rola
falscher ansatz
Mischa
hi k.rola,
war mir eigentlich egal.
Der Ansatz mit ms scripting hätte evtl. auch weitergeführt - meine "Einschränkung" darauf "von vorn herein" war aber eigentlich gar nicht nötig bzw. falsch.
Wenns mit api geht, ismir das auch recht. Die Hilfe kam dann von:
http://spotlight.de/nzforen/mvb/m/mvb-1081332501-22356.html
Vielen dank nochmals für die anteilnahme.
mischa
AW: falscher ansatz
K.Rola
Hallo,
hast du meine Antwort weiter oben gar nicht gelesen?
Gruß K.Rola
Anzeige
AW: falscher ansatz
07.04.2004 20:38:29
mischa
hi k.rola,
ich hatte deine Antwort wirklich nicht gelesen.
die Lösung von dir gefällt mir sogar noch besser. teste ich gerne - leider erst morgen - aber gleich nach dem frühstück.
danke, mischa

Sub Freier_Speicher()
Dim objFSO As Object, objDrive As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
For Each objDrive In objFSO.Drives
On Error Resume Next 'Falls LW nicht bereit ist
MsgBox Format(objDrive.FreeSpace / 1024, "###,###,### KB")
Next
End Sub

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige