Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Speicherplatz überprüfen / Alex K ?

Forumthread: Speicherplatz überprüfen / Alex K ?

Speicherplatz überprüfen / Alex K ?
19.02.2004 11:25:27
Jacob
Hallo Leute
wie kriege ich es hin in der Routine Kopieren die größe, der zu kopierenden Dateien zu ermitteln und sie mit der Routine Speicherplatz zu vergleichen ?. In der Kopieren-Routine, Datei : Verzeichnisbaum.xls, Tabelle: Standard_Tab sind alle zu kopierenden Dateien eingetragen. Für Antworten wäre ich sehr dankbar.
Jacob
----------------------------------------------------------------------

Sub Speicherplatz()
Dim drvPath
Dim fs, d, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set d = fs.GetDrive(fs.GetDriveName(Pfad))
s = "Laufwerk " & UCase(Pfad) & " hat noch " & FormatNumber(d.FreeSpace / 1048576, 0) & " Megabytes frei"
MsgBox s, vbOKOnly + vbInformation, "Speicherplatz"
End Sub

----------------------------------------------------------------------

Sub Kopieren()
Dim Ziel   As String
Dim Quelle As String
Dim Mldg, Stil
On Error Resume Next
Zeile = "A"
Suchzelle = 1
Pfad = ActiveWorkbook.path
Datei = Pfad & "\Verzeichnisbaum.xls"
Quelle_Temp = Range("F18") & ":"
Ziel_Temp = ActiveWorkbook.path & "\O"
Workbooks.Open Datei
Sheets("Standard_Tab").Select
Do While Zeile <> ""
Err.Clear
Zeile = Range("A" & Suchzelle)
If Zeile = "" Then
Exit Do
Else
Quelle = Quelle_Temp & Zeile
Ziel = Ziel_Temp & Zeile
FileCopy Quelle, Ziel
Select Case Err.Number
Case Is = 52
MsgBox " Datei:  " & Quelle & "  ist nicht vorhanden !"
Case Is = 53
MsgBox " Datei:  " & Quelle & "  ist nicht vorhanden !"
End Select
Suchzelle = Suchzelle + 1
End If
Loop
ActiveWorkbook.Close savechanges = False
End Sub

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speicherplatz überprüfen / Alex K ?
19.02.2004 14:21:57
Alex K.
Hallo Jakob,
habe mal eine Lösung auf Grund deiner Vorgabe kreiert. Ich hoffe, sie passt:

Public Sub Kopieren()
Dim zielPfad        As String
Dim Quelle          As String
Dim rng             As Range
Dim datei           As String
Dim datGr           As Long
Dim fileObj         As Object
Dim driveObj        As Object
zielPfad = ActiveWorkbook.Path
Set fileObj = CreateObject("Scripting.FileSystemObject")
Set driveObj = fileObj.GetDrive(fileObj.GetDriveName(Left(zielPfad, 2)))
zielPfad = ActiveWorkbook.Path
datei = zielPfad & "\Verzeichnisbaum.xls"
Workbooks.Open datei
With Sheets("Standard_Tab")
Quelle = .Range("F18") & ":"
zielPfad = ActiveWorkbook.Path & "\O"
For Each rng In .Range("A1:A" & .Cells(.Rows.Count, 1).End(xlUp).Row)
datei = Quelle & rng.Value
datGr = FileLen(datei)
If datGr > driveObj.freespace Then
'Alternativ zur MsgBox wäre es vielleicht besser, dass Ergebnis in die Standard_Tab
'zu schreiben. Die Meldung wird in der Dateizeile in Spalte G geschrieben.
'Bei vielen Meldungen ist es für den User sehr mühsam, alle zu bestätigen
'rng.Offset(0, 6).Value = "Für diese Datei ist nicht genügend Speicherplatz vorhanden. Keine Kopie erstellt."
MsgBox "Für Datei '" & datei & "' ist nicht genügend Speicherplatz vorhanden. " & _
vbNewLine & "Sie wird deshalb nicht kopiert.", vbExclamation, "Dateien kopieren"
Else
FileCopy datei, zielPfad & rng.Value
If Err.Number <> 0 Then
Err.Clear
'rng.Offset(0, 6).Value = "Fehler beim Kopieren dieser Datei nach " & zielPfad
MsgBox "Fehler beim Kopieren der Datei '" & datei & _
"' nach '" & zielPfad & rng.Value, vbExclamation, "Dateien kopieren"
End If
End If
Next rng
End With
'Diese Anweisung muss natürlich gelöscht werden, wenn die Fehlermeldungen
'in die Tabelle Starndard_Tab geschrieben werden. Ansonsten hat der User keine
'Chance, die Meldungen zu lesen :-)
ActiveWorkbook.Close False
End Sub

Anzeige
AW: Speicherplatz überprüfen / Alex K ?
19.02.2004 14:40:31
Jacob
Hallo Alex
was soll ich sagen, es ist einfach nicht zu glauben dass du immer wieder Lust findest sich mit dem Problemen von Anderen (Laien ?) zu beschäftigen. Ich danke dir sehr und ich habe schon durch deine Hilfe jede Menge dazu gelernt.
Viele Grüße
Jacob
Danke für die Rückmeldung
19.02.2004 14:47:43
Alex K.
Hallo Jakob,
ich bin im Moment "ans Haus gefeselt" und bevor ich mich langweile, denke ich lieber. Ich sehe solchen Aufgaben als Gehirn-Jogging :-)
Ausserdem bleibe ich damit fit für meinen Job :-)
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige