Speichern per VBA ohne Nachfrage bei Überschreiben

Bild

Betrifft: Speichern per VBA ohne Nachfrage bei Überschreiben
von: CB_
Geschrieben am: 30.03.2005 09:35:17
Hallo,
wie kann ich per VBA die aktive Mappe speichern ohne dass ich eine Nachfrage bekomme, ob eine vorhandene Datei überschrieben werden soll?
Bis jetzt siehts so aus:

Public


Sub speichern()
Dim ziel As String
ziel = ActiveWorkbook.Path
'wenn das letzte Zeichen kein \ ist, dann hänge ein \ hinten dran
If Right(ziel, 1) <> "\" Then
    ziel = ziel + "\"
End If
ziel = ziel + "penetration.xls"
ActiveWorkbook.Save
End Sub

MfG
Christian
Bild

Betrifft: AW: Speichern per VBA ohne Nachfrage bei Überschreiben
von: u_
Geschrieben am: 30.03.2005 09:45:11
Hallo,
ActiveWorkbook.Save True
Gruß
Bild

Betrifft: AW: Speichern per VBA ohne Nachfrage bei Überschreiben
von: CB_
Geschrieben am: 30.03.2005 09:52:35
Gibt Fehler:
Fehler beim Kompilieren
Falsche Anzahl an Argumenten oder ungültige Zuweisung zu einer Eigenschaft
...
;-((
Bild

Betrifft: Knoten im Hirn
von: u_
Geschrieben am: 30.03.2005 09:59:48
Hallo,
erst denken, dann antworten!
Du willst doch wohl unter dem Dateinamen Ziel speichern.
Application.DisplayAlerts=False
activeworkbook.saveas Ziel
Application.DisplayAlerts=True
Gruß
Bild

Betrifft: AW: Knoten im Hirn / nun Knoten aufgepult
von: CB_
Geschrieben am: 30.03.2005 11:20:43
Hallo Unbekannter,
Problem ist, dass "ziel" bereits exisitert.
(Genaugenommen öffne ich "ziel", bekomme eine Fehlermeldung, und speichere "ziel" erneut ab).
Beim Speichern erscheint dann eine Fehlermeldung. Habe das Prob aber so gelöst:
Public

Sub speichern()
Dim ziel As String
Dim fso As FileSystemObject
Set fso = New FileSystemObject
ziel = ActiveWorkbook.Path
'wenn das letzte Zeichen kein \ ist, dann hänge ein \ hinten dran
If Right(ziel, 1) <> "\" Then
    ziel = ziel + "\"
End If
ziel1 = ziel + "penetration.xls"  'Ursprüngliche Datei
ziel2 = ziel + "penetration2.xls" 'Temporäre Datei
ActiveWorkbook.SaveAs (ziel2) 'Speichern als temp Datei
If fso.FileExists(ziel2) = True Then 'Nur wenn das Speichern erfolgreich war
    Call fso.DeleteFile(ziel1) 'Ursprungsdatei löschen
    ActiveWorkbook.Close
    Call fso.MoveFile(ziel2, ziel1) 'Temporäre Datei umbenennen
End If
End Sub

Wenn Excel nicht will, mach ichs eben mit dem spitzenmäßigen FileSystemObject.
MfG
Christian
Bild

Betrifft: zu DisplayAlerts
von: Luc
Geschrieben am: 30.03.2005 11:32:36
Hallo Christian,
mit DisplayAlerts = False verhindert man die Frage nach dem Dateispeichern beim (automatischen) Dateischließen, aber möglicherweise nicht die Warnung vor'm Dateiüberschreiben.
Gruß Luc :-?
Bild

Betrifft: AW: zu DisplayAlerts
von: CB_
Geschrieben am: 30.03.2005 11:34:33
Hallo Luc,
scheint so, aber man lernt ja nie aus. ;-)
MfG
Christian
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Speichern per VBA ohne Nachfrage bei Überschreiben"