title image


Smiley Re: Kannst Du das erläutern ?
Hallo,



- Kann die Sicherungskopie (statt das Original zu überschreiben) auch in ein anderes Verzeichnis vorgenommen werden (Amipro hatte dafür ein Verzeichnis "Kopien" vorgeschlagen) ?

Das Original wird nicht überschrieben, das Dokument wird mit den derzeitigen Inhalten gespeichert. In den Optionen kann man zwar bestimmen, dass eine Sicherungskopie angelegt wird, aber nicht das Verzeichnis.



- Ich speichere ungerne wichtige Sachen in normal.dot. Könnte der Code auch in einer globalen Dokumentvorlage untergebracht werden ?

Das ist möglich. Entweder über Extras|Optionen|Vorlagen und Add-Ins oder Speichern im Startup-Ordner von Office.



      Hubert

Hier der kommentierte Code:

'Attribute VB_Name = "Modul1"

'Code in einem beliebigen Modul speichern

'Hilfe zu Automakros unter diesem Begriff in

'der Hilfe des VBA-Editors

'

Private Sub AutoExec()

Call InitializeAutoSave

End Sub

'

'Private Sub AutoOpen()

'Call InitializeAutoSave

'End Sub

'

'Private Sub AutoNew()

'Call InitializeAutoSave

'End Sub

'

Sub InitializeAutoSave()

WordBasic.MsgBox String(5, 32) & "Autosave gestartet!", -8

On Error Resume Next

'eingestellt: 3 Minuten

'flexible Zeit z.B. mit InputBox unpraktisch und anfällig für Fehler,

'wenn z.B. Abbrechen gedrückt wird.

'Zeit müsste alle paar Minuten neu eingegeben werden

Application.OnTime When:=Now + TimeValue("00:03:00"), Name:="AutoSaveMacro"

End Sub

'

Sub AutoSaveMacro()

Dim sStatik, sWords, sWcount, sSeite

If Documents.Count = 0 Then Exit Sub

On Error Resume Next

'

'Führt einen Seitenumbruch für das gesamte Dokument durch

ActiveDocument.Repaginate

'

'Dokument-Statistik auslesen

sStatik = ActiveDocument.ComputeStatistics(wdStatisticPages)

If sStatik = 1 Then

sSeite = " Seite"

ElseIf sStatik > 1 Then

sSeite = " Seiten"

End If

'

'in der Statuszeile wird eine Meldung angezeigt

sWords = ActiveDocument.ComputeStatistics(wdStatisticWords)

If sWords = 1 Then

sWcount = "Wort"

ElseIf sWords > 1 Then

sWcount = "Wörter"

End If

'

'Dokument wurde nicht gespeichert, Dialog Datei speichern solange anzeigen,

'bis das Dokument gespeichert wird

If Dir(ActiveDocument.FullName) = "" Then

With Dialogs(wdDialogFileSaveAs)

If .Show = 0 Then

Call InitializeAutoSave

Exit Sub

End If

End With

End If

'

'Dokument wurde gespeichert, das Dokument im derzeitigem Zustand

'im Hintergrund speichern

If Dir(ActiveDocument.FullName) <> "" Then

On Error Resume Next

'Sicherheitskopie anlegen (*.wbk) (Extras|Optionen|Speichern)

Options.CreateBackup = True

ActiveDocument.Save



'in der Statuszeile wird eine Meldung angezeigt

WordBasic.MsgBox ActiveDocument.Name & " enthält " _

& sWords & Chr(32) & sWcount & " und " & sStatik & Chr(32) & sSeite _

& Chr(32) & ": Zuletzt gespeichert um " & Format(Time, "HH.MM") & " Uhr", -8

'Makro wiederholen

Call InitializeAutoSave

End If

End Sub







geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: