Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
588to592
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
588to592
588to592
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Speichern per VBA ohne Nachfrage bei Überschreiben
30.03.2005 09:35:17
CB_
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

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speichern per VBA ohne Nachfrage bei Überschreiben
30.03.2005 09:45:11
u_
Hallo,
ActiveWorkbook.Save True
Gruß
AW: Speichern per VBA ohne Nachfrage bei Überschreiben
30.03.2005 09:52:35
CB_
Gibt Fehler:
Fehler beim Kompilieren
Falsche Anzahl an Argumenten oder ungültige Zuweisung zu einer Eigenschaft
...
;-((
Knoten im Hirn
30.03.2005 09:59:48
u_
Hallo,
erst denken, dann antworten!
Du willst doch wohl unter dem Dateinamen Ziel speichern.
Application.DisplayAlerts=False
activeworkbook.saveas Ziel
Application.DisplayAlerts=True
Gruß
AW: Knoten im Hirn / nun Knoten aufgepult
30.03.2005 11:20:43
CB_
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
Anzeige
zu DisplayAlerts
30.03.2005 11:32:36
Luc
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 :-?
AW: zu DisplayAlerts
30.03.2005 11:34:33
CB_
Hallo Luc,
scheint so, aber man lernt ja nie aus. ;-)
MfG
Christian

93 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox zum Thema

EXCEL - Speichern per VBA ohne Rückfrage


Inhaltsverzeichnis

  1. Was ist die Aufgabe?
  2. Einsatzzweck
  3. Wie wird es gemacht?
  4. Zusammenfassung

Was ist die Aufgabe?

Sie möchten per VBA die aktive Excel-Arbeitsmappe speichern und dabei sicherstellen, dass Sie keine Aufforderung zum Überschreiben einer vorhandenen Datei erhalten.


Einsatzzweck

Dies ist nützlich, wenn Sie automatisierte Prozesse in Excel durchführen und keine Benutzereingaben oder Unterbrechungen während des Speichervorgangs wünschen.


Wie wird es gemacht?

Um das zu erreichen, können Sie die Application.DisplayAlerts-Eigenschaft von Excel vorübergehend auf False setzen. Dadurch werden alle Benachrichtigungen, einschließlich der Aufforderung zum Überschreiben, deaktiviert. Anschließend setzen Sie Application.DisplayAlerts wieder auf True, um die normalen Benachrichtigungen von Excel wiederherzustellen.

Hier ist ein VBA-Code-Beispiel, das zeigt, wie es gemacht wird:

Sub SaveWithoutPrompt()

    ' Benachrichtigungen deaktivieren
    Application.DisplayAlerts = False

    ' Aktive Arbeitsmappe speichern
    ActiveWorkbook.Save

    ' Benachrichtigungen wieder aktivieren
    Application.DisplayAlerts = True

End Sub

Zusammenfassung

Um die aktive Arbeitsmappe per VBA zu speichern und die Aufforderung zum Überschreiben zu vermeiden, setzen Sie die Application.DisplayAlerts-Eigenschaft auf False, führen den Speichervorgang durch und setzen dann Application.DisplayAlerts wieder auf True. Dies stellt sicher, dass Ihre Mappe ohne Unterbrechungen gespeichert wird.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige