Re: Dauer des speichervorgangs
21.01.2003 20:31:16
Nepumuk
Hallo Andreas,
die Zeit, die eine Datei zum speichern benötigt ist von mehreren Faktoren abhängig (mittlere Zugriffsgeschwindigkeit des Laufwerks, Netzwerkauslastung, Parallelprozesse, Vierenscanner ......). Aber du müsstest sie schon wissen, bevor gespeichert wird. Das ist ziemlich unberechenbar. Du könntest nun aus der benötigten Zeit aller Speichervogängen einen Mittelwert bilden und diesen verwenden. Diesen Mittelwert musst du nun irgendwo mit speichern. Eventuell in einer Textdatei, da ja der Speichervorgang der Mappe selbst schon abgeschlossen ist und somit die Möglichkeit diese Zeit in der Mappe selbst zu hinterlegen nicht mehr gegeben ist.
Gedankenspiel:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Application.EnableEvents = False
speicherzeit_neu = Time
Call speichern
Application.EnableEvents = True
Cancel = True
End Sub
Public speicherzeit_neu as Date, speicherzeit_alt as Integer
Public Sub speichern()
hier aus textdatei Wert holen in speicherzeit_alt
Application.OnTime Time , "Anzeige" '-Parallelmakro starten
Thisworkbook.save
hier in Textdatei schreiben: CInt((speicherzeit_alt + (Time - speicherzeit_neu)) / 2)
End sub
Privat Sub anzeige()
UserForm1.Show
End Sub
Private Sub UserForm_Activate()
Dim index As Integer
ProgressBar1.Max = speicherzeit_alt
For index = 1 To speicherzeit_alt
ProgressBar1 = index
Application.Wait Time + TimeSerial(0, 0, 1)
Next index
Unload Me
End Sub
Ich habe das nicht getestet aber so könnte es laufen.
Gruß
Nepumuk