Makro starten beim schliessen eines x beliebigen Dokumentes

bluesbounce

Mitglied
Ich möchte auf den Event Dokument schliessen, reagieren und automatisch eine Sicherheitskopie in einem bestimmten Ordner speichern.

Die Lösung bei öfnen habe ich nur wird hier nicht gespeichert, wenn ich etwas geändert habe .. Hat jemand einen Tip, wie das gleiche beim schliessen mache

Vielen Dank und Gruß
Alex


Code:
Sub DateiÖffnen()
  Dim strSrcDoc As String
  Dim dteDate As Date
  Dim strMyDoc As String
  With Dialogs(wdDialogFileOpen)
    .Name = "*.doc"
    If .Display = -1 Then
      strSrcDoc = .Name
    End If
    Documents.Open .Name
    strMyDoc = ActiveDocument.Name
    dteDate = Date
    strMyDoc = Chr(34) & "E:\Word Backup\" & dteDate & " Backup " & strMyDoc & Chr(34)
    ActiveDocument.SaveAs FileName:=strMyDoc, FileFormat:=wdFormatDocument
    MsgBox strSrcDoc & " wurde als " & strMyDoc & " archiviert.", vbInformation, "Dokument archivieren"
    ActiveDocument.Close
    Documents.Open .Name
  End With
End Sub
 
Prinzipiell hat jedes Document eine Document_Close()-Prozedur, die kannst du im ThisDocument-Fenster des Dokumentes (im VBA-Editor) erreichen. Alles was in dieser Prozedur steht, wird beim Beenden des Dokumentes ausgeführt.


Der Doc!
 
ok, funktioniert an sich ganz gut,
nur bei einzelnen Doks saved er nicht ..

hat jemand eine Idee

Code mit einem Debug :


Code:
 Private Sub Document_Close()

 Dim strSrcDoc As String
  Dim dteDate As Date
 Dim strMyDoc As String
 
   strMyDoc = ActiveDocument.Name
    If strMyDoc = "Dokument1.doc" Or strMyDoc = "Dokument1" Then
    MsgBox strMyDoc, vbInformation, "Dokument archivieren"
   Else
      dteDate = Date
      strMyDoc = Chr(34) & "c:\Eigene Dateien\saves\" & dteDate & " Backup " & strMyDoc
      ActiveDocument.SaveAs FileName:=strMyDoc, FileFormat:=wdFormatDocument
       MsgBox strSrcDoc & " wurde als " & strMyDoc & " archiviert.", vbInformation, "Dokument archivieren"
  End If
 End Sub
 
Zurück