Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1292to1296
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
Datei speichern unter
19.01.2013 23:47:24
Aton
Hallo
Mein Sicherungsmakro geht ohne Fehler bis zum Ende.
Aber die erzeugten Dateien können nicht mehr geöffnet werden.
Fehlermeldung: Dateiformat stimmt nicht mehr.
Gruß Aton
Sub DateiSicherungsCoppy()
'Application.Calculation = xlAutomatic
Dim Pfad1 As String, Pfad2 As String, Datei1 As String, Datei2 As String, w As Variant
Pfad1 = ActiveWorkbook.Path & "\" ' Pfad der Orginal-Datei
Datei1 = ActiveWorkbook.Name ' Dateiname der Orginal-Datei
Pfad2 = "D:\Sicherungen\" 'Pfad zur Sicherung
Datei2 = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 5) & Format(Now, " YYMMDD hhmm" _
) & Right(ActiveWorkbook.Name, 5) ' Dateiname der Sicherungs-Datei
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=Pfad2 & Datei2, FileFormat:=xlNormal, Password:="",  _
WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWorkbook.SaveAs Filename:=Pfad1 & Datei1, FileFormat:=xlNormal, Password:="",  _
WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
If Mid(Datei1, 1, 3) = "MS " Then
ActiveWindow.Visible = False
End If
'For Each w In Application.Workbooks ' Alle Dateien Sichern
'   w.Save
'Next w
'Application.Quit
Application.DisplayAlerts = True
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Datei speichern unter
20.01.2013 06:49:03
fcs
Hallo Aton,
zum Erstellen von Sicherungskopien verwendet man am besten die SaveCopyAs-Methode.
Gruß
Franz
Sub DateiSicherungsCoppy()
Dim wbk As Workbook
Dim Pfad2 As String, Datei1 As String, Datei2 As String
Set wbk = ActiveWorkbook
With wbk
Datei1 = .Name
If .Saved = False Then .Save
Pfad2 = "D:\Sicherungen\" 'Pfad zur Sicherung
Datei2 = Left(Datei1, InStrRev(Datei1, ".") - 1) & Format(Now, " YYMMDD hhmm") _
& Mid(Datei1, InStrRev(.Name, "."))  ' Dateiname der Sicherungs-Datei
.SaveCopyAs Filename:=Pfad2 & Datei2
End With
If Mid(Datei1, 1, 3) = "MS " Then
ActiveWindow.Visible = False
End If
'For Each wbk In Application.Workbooks ' Alle Dateien Sichern
'   wbk.Save
'Next wbk
'Application.Quit
End Sub

Anzeige
Funktioniert, Mappe aber noch angezeigt
20.01.2013 08:04:47
Aton
Hallo
Es funktioniert einwandfrei. Vielen Dank dafür. Auf Copy as wäre ich nicht gekommen.
2 Fragen noch:
1. Die Mappe wird noch angezeigt beim schließen von Excel. Muss sie extra zumachen.
Ich meine die MS Mappe, wurde früher nur angezeigt wenn ich sie eingeblendet habe.
2. Kann man wo einstellen dass alle Mappen geschlossen werden wenn Excel beendet wird, und sie
alle schon gesichert sind.
Vielen Dank von Aton

AW: Funktioniert, Mappe aber noch angezeigt
20.01.2013 10:41:03
Hajo_Zi
zu 2
Sub Beenden()
Dim WbDatei As Workbook
For Each WbDatei In Workbooks
If WbDatei.Saved Then
WbDatei.Close
End If
Next WbDatei
If Workbooks.Count = 0 Then
Application.Quit
End If
End Sub

Anzeige
Arbeitsmappe MS xxxxxxx ausblenden
20.01.2013 13:52:06
Aton
Hallo
Sub DateiSicherungsCoppy()
Dim wbk As Workbook
Dim Pfad2 As String, Datei1 As String, Datei2 As String
Set wbk = ActiveWorkbook
With wbk
Datei1 = .Name
If .Saved = False Then .Save
Pfad2 = "D:\Sicherungen\" 'Pfad zur Sicherung
Datei2 = Left(Datei1, InStrRev(Datei1, ".") - 1) & Format(Now, " YYMMDD hhmm") & Mid( _
Datei1, InStrRev(.Name, ".")) ' Dateiname der Sicherungs-Datei
.SaveCopyAs Filename:=Pfad2 & Datei2
End With
If Mid(Datei1, 1, 3) = "MS " Then
ActiveWindow.Visible = False' Blatt ausblenden in dieser Arbeitsmappe
Hier den Befehl dass Arbeitsmappe augeblendet bleibt, wenn sie geladen wurde. _
End If
'Bei normalen Sichern nicht alle Mappen schließen
'For Each wbk In Application.Workbooks ' Alle Dateien Sichern
'   wbk.Save
'Next wbk
'Application.Quit
End Sub
Das Schliessfeld von Excel rechts oben :
Bei XP wurde die Arbeitsmappe von Makros, Dateien die mit MS anfingen ( MS Test )
nicht in der Startleiste angezeigt, und beim Beenden mit geschlossen wenn Excel geschlossen wurde.
Jetzt muss jede Mappe einzeln geschlossen werden obwohl sie nicht geändert wurde.
Hoffe ist besser verständlich was ich möchte.
Gruß Aton

Anzeige
AW: Arbeitsmappe MS xxxxxxx ausblenden
20.01.2013 14:38:55
fcs
Hallo Aton,
das Ausblenden der Arbeitsmappen ist auch eine Änderung, so dass Excel beim Schliessen nachfragt, ob die Datei gespeichert werden soll.
Die Datei muss also nach dem Ausblenden nochmals gespeichert werden.
Gruß
Franz
Sub DateiSicherungsCoppy()
Dim wbk As Workbook
Dim Pfad2 As String, Datei1 As String, Datei2 As String
Set wbk = ActiveWorkbook
With wbk
Datei1 = .Name
If .Saved = False Then .Save
Pfad2 = "D:\Sicherungen\" 'Pfad zur Sicherung
Datei2 = Left(Datei1, InStrRev(Datei1, ".") - 1) & Format(Now, " YYMMDD hhmm") _
& Mid(Datei1, InStrRev(.Name, ".")) ' Dateiname der Sicherungs-Datei
.SaveCopyAs Filename:=Pfad2 & Datei2
If Mid(Datei1, 1, 3) = "MS " Then
ActiveWindow.Visible = False ' Blatt ausblenden in dieser Arbeitsmappe
'Hier den Befehl dass Arbeitsmappe augeblendet bleibt, wenn sie geladen wurde.
.Save
End If
End With
'Bei normalen Sichern nicht alle Mappen schließen
'For Each wbk In Application.Workbooks ' Alle Dateien Sichern
'   wbk.Save
'Next wbk
'Application.Quit
End Sub

Anzeige
AW: Arbeitsmappe MS xxxxxxx ausblenden
20.01.2013 22:36:01
Aton
Hallo
Wenn ich eine Sicherung erstelle oder mehrere und ich dann Excel beende, muss jede Mappe extra geschlossen werden. Auch die von den Makros.
Bei XP wurden alle auf ein mal geschlossen, nur die nicht gesicherten wurden abgefragt.
Das ist was mich noch stört. Brauche ich zum schließen jetzt ein Makro ?
oder kann man das in den Optionen einstellen. Habe da noch nichts gefunden.
Gruß Aton

AW: Arbeitsmappe MS xxxxxxx ausblenden
21.01.2013 07:47:27
fcs
Hallo Aton,
die Frage ist, was du nach dem Erstellen der Sicherungskopie und dem Ausblenden der Dateien bei den "MS ..." Dateien willst.
Sollen diese Dateien sofort geschlossen werden oder erst wenn Excel beendet wird.
Bei ersterem:
       'Hier den Befehl dass Arbeitsmappe augeblendet bleibt, wenn sie geladen wurde.
.Save
.Close
End If
Ansonsten sollten die Dateien jetzt ohne Rückfrage geschlossen werden wenn Excel geschlossen wird.
Gruß
Franz

Anzeige
Excel schliesst nicht alle Mappen
21.01.2013 23:26:56
Aton
Hallo
Wenn ich Excel schließe, dann muss ich jede Arbeitsmappe einzeln schließen. Habe Makros die mehr als 10 Mappen öffnen Daten holen und bei anderen eintragen. Diese werden automatisch Sicherungs-Gespeichert mit diesem Makro. Wenn ich dann Excel schließe muß ich jede Mappe einzeln schließen ob über Mappe oder Excel Schließfeld ist egal. Das nervt gewaltig. Bei XP musste ich nur bei den nicht gespeicherten entscheiden ob ich speichern will oder nicht. In den Optionen konnte ich nichts finden das das einstellt.
Weist du ob man das einstellen kann. Oder ein Makro das alle Mappen schließt und die nicht gesicherten eine Auswahl bringt.
1. Zeile - Dateiname 2. Zeile - Pfad zur Datei 3. Zeile - mit drei Burtons:
Alle Sichern - Diese Sichern - Nicht Sichern
Gruß Aton

Anzeige
AW: Excel schliesst nicht alle Mappen
21.01.2013 23:42:01
Aton
Hallo
Könnte man das Makro beim Schließfeld von Excel mit einklinken, so dass es immer ausgeführt wird.
Das wäre das beste. Eventuell als Add-Ins.
Gruß Aton

AW: Excel schliesst nicht alle Mappen
22.01.2013 12:16:48
fcs
Hallo Aton,
warum gestaltest du deine Makros nicht so, dass die geöffneten Daten Dateien wieder geschlossen werden, ggf. mit/ohne speichern der Daten, nachdem die Daten übernommen/übertragen worden sind.
Ansonsten nachfolgend ein Makro, dass Excel beendet und vor die Speicherung der nicht gespeicherten Datei abfragt.
Gruß
Franz
'Makro gespeichert in einem Modul der persönlichen Makroarbeitsmappe
Sub ExcelSchliessen()
'Datein sichern nach Rückfrage und Excel beenden
Dim wbk As Workbook, varAuswahl As Variant, strMsgTxt As String
strMsgTxt = "Nicht gespeicherte Dateien:"
For Each wbk In Application.Workbooks
If wbk.Saved = False Then
strMsgTxt = strMsgTxt & vbLf & wbk.Name
End If
Next
strMsgTxt = strMsgTxt & vbLf & vbLf & "Alle Dateien speichern?" & vbLf & vbLf _
& "Bei ""Nein"" werden die Dateien einzeln abgefragt."
varAuswahl = MsgBox(strMsgTxt, vbQuestion + vbYesNoCancel, "Excel Beenden")
Select Case varAuswahl
Case vbYes
For Each wbk In Application.Workbooks
If wbk.Path = "" Then
wbk.Activate
'Neue Datei wurde noch nie gespeichert
varAuswahl = Application.Dialogs(xlDialogSaveAs).Show
If varAuswahl = False Then
wbk.Close savechanges:=False
End If
Else
If wbk.Saved = False Then wbk.Save
Select Case LCase(wbk.Name)
Case "personal.xlsb", "personl.xls"
'do nothing
Case Else
wbk.Close
End Select
End If
Next
Application.Quit
Case vbNo
For Each wbk In Application.Workbooks
Select Case LCase(wbk.Name)
Case "personal.xlsb", "personl.xls"
'do nothing - diese Datei wird erst beim Schliessen von Excel abgefragt.
Case Else
If wbk.Saved = True Then
wbk.Close
Else
If Windows(wbk.Name).Visible = True Then wbk.Activate
strMsgTxt = "Datei" & vbLf & vbLf _
& "    " & wbk.Name & vbLf & vbLf _
& "speichern?"
varAuswahl = MsgBox(strMsgTxt, vbQuestion + vbYesNoCancel, _
"Excel beenden - Dateien speichern")
Select Case varAuswahl
Case vbYes
wbk.Close savechanges:=True
Case vbNo
wbk.Close savechanges:=False
Case vbCancel
'Excel nicht beenden
Exit Sub
End Select
End If
End Select
Next
Application.Quit
Case vbCancel
'Excel nicht beenden
Exit Sub
End Select
End Sub

Anzeige
Vielen Dank das ist gut
22.01.2013 20:51:43
Aton
Hallo
Bei alles Speichern bleibt Excel noch offen am Schluss. aber alle Dateien werden geschlossen.
Bei der Auswahl zum sichern schließt es die gesicherten bis zur 1. Auswahl.
Ab der ersten Auswahl, muß ich wieder jede Mappe schließen.
Den Befehl für Excel schließen am Schluß der Automatik fehlt noch.
Eigentlich wollte ich es so erreichen: Ich starte das Makro.
Excel schließt die Arbeitsmappen.
Der 1. Dateinamen und Pfad wird angezeigt der nicht gesichert ist.
Die 3 Burtons als Abfrage: Alle - Speichern - Nicht speichern kommen.
Ich drücke Speichen , Excel liest weiter die Mappen.
Der 2. Dateinamen und Pfad wird angezeigt der nicht gesichert ist.
Die 3 Burtons als Abfrage: Alle - Speichern - Nicht speichern kommen.
Ich drücke Alle und Excel schließt alle Mappen und Speichert die nicht gesicherten.
Zum Schluß wird Excel selbst geschloßen.
Gruß Aton

Anzeige
AW: Vielen Dank das ist gut
22.01.2013 23:16:37
fcs
Hallo Aton,
die spezielle Beschriftung der Schaltflächen funktioniert nur mit speziell erstellten Userforms.
Bei meiner Konstruktion werden Standard-Messageboxen verwendet, die nur bestimmte Beschrifftungen der Schaltflächen ermöglichen, und das Makro gehört in die persönliche Makroarbeitsmappe. Meine Anmerkung am Beginn der Prozedur hatte da schon ihren Grund.
Wenn du das Makro in eine andere Datei einbaust, dann muss die Prüfung der Dateinamen so erfolgen, dass die Datei mit dem Makro als letzte Datei beendet wird. Ähnlich wie in meinem Makro die Dateien "pesonal.xlsb" und "personl.xls", da das Makro sonst mit dem Schliessen der Datei beendet wird.
Wenn du mein Makro ausführst, dann hast du mit "ja" in der ersten MsgBox die Möglichkeit ohne weitere Rückfragen alle Dateien zu speichern und zu schliessen. Am Ende wird Excel geschlossen. Bei "NEIN" erfolgt dann die Abfrage der einzelnen Dateien. Wenn du das Makro korrekt einbaust, dann wird mit
Application.Quit
Excel beendet.
Die Schaltfläche "Abbrechen" stoppt immer die weitere Makroausführung.
Gruß
Franz

Anzeige
Super jetzt ist es mir klar und Funktioniert
24.01.2013 01:47:01
Aton
Hallo
Vielen Dank für deinen Einsatz.
Gruß Aton

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige