Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Mit Makro speichern, wenn Datei nicht vorhanden

Mit Makro speichern, wenn Datei nicht vorhanden
13.12.2004 21:00:58
Tim
Hallo,
ich habe folgendes Problem.
Ich speichere automatisch einzelne Tabellen, mit einem Macro, ab.
Über eine DDE-Schnittstelle wird eine Zelle beschrieben und bei einem bestimmten Wert wird eine Tabelle gespeichert.
Es kann aber passieren das diese Datei schon vorhanden ist.
gibt es dafür eine abfrage?
D.h. wenn Datei vorhanden, dann überspringe das Speichern?
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mit Makro speichern, wenn Datei nicht vorhande
Ramses
Hallo
If Dir("D:\DeineDatei.xls") "" Then
Msgbox "Datei vorhanden"
Exit sub
End if
Gruss Rainer
AW: Mit Makro speichern, wenn Datei nicht vorhande
14.12.2004 14:45:11
Jan
Entweder:

Sub Sicher_Beenden()
Dim c as Object
Dim objFSO as Object
Dim counter as Boolean
Counter = False
Set  objFSO = CreateObject("Scripting.FileSystemObject")
For Each c in objFSO.GetFolder("D:\").Files
If c.Name = "Dateinameohneverzeichnis.xls" then
counter = True
Exit for
end if
Next
If not Counter = True then
ActiveWorkBook.Save
End if
ActiveWorkbook.close
End Sub


Sub Sichern_Beenden()
If Not Dir("D:\DeineDatei.XLS") = "DeineDatei.XLS" then
ActiveWorkbook.Save
End If
ActiveWorkBook.Close
End Sub

Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Mit Makro speichern, wenn Datei nicht vorhanden


Schritt-für-Schritt-Anleitung

Um eine Excel-Datei mit Makros zu speichern, wenn die Datei nicht bereits vorhanden ist, kannst Du ein einfaches Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Kopiere und füge den folgenden Code in das Modul ein:

    Sub Sichern_Beenden()
        If Not Dir("D:\DeineDatei.XLS") = "DeineDatei.XLS" Then
            ActiveWorkbook.Save
        End If
        ActiveWorkbook.Close
    End Sub
  4. Ändere den Dateipfad und den Dateinamen nach Deinen Bedürfnissen.

  5. Schließe den VBA-Editor und speichere die Excel-Datei als Excel-Datei mit Makros speichern (Dateityp: *.xlsm).

  6. Führe das Makro aus, um zu testen, ob die Datei gespeichert wird, wenn sie nicht vorhanden ist.


Häufige Fehler und Lösungen

  • Fehler: Das Makro speichert die Datei immer, auch wenn sie vorhanden ist.

    • Lösung: Überprüfe den Dateipfad und den Dateinamen im Code. Stelle sicher, dass sie genau übereinstimmen.
  • Fehler: Fehlermeldung „Datei nicht gefunden“.

    • Lösung: Stelle sicher, dass der angegebene Ordner existiert und Du über die erforderlichen Berechtigungen zum Speichern in diesem Ordner verfügst.

Alternative Methoden

Eine Alternative zu den oben genannten Methoden ist die Verwendung des FileSystemObject. Hier ein Beispiel:

Sub Sicher_Beenden()
    Dim c As Object
    Dim objFSO As Object
    Dim counter As Boolean
    counter = False
    Set objFSO = CreateObject("Scripting.FileSystemObject")

    For Each c In objFSO.GetFolder("D:\").Files
        If c.Name = "DeineDatei.xls" Then
            counter = True
            Exit For
        End If
    Next

    If Not counter = True Then
        ActiveWorkbook.Save
    End If

    ActiveWorkbook.Close
End Sub

Diese Methode überprüft alle Dateien im angegebenen Verzeichnis und kann bei Bedarf einfacher angepasst werden.


Praktische Beispiele

  1. Beispiel 1: Speichern einer Datei nur unter bestimmten Bedingungen.

    • Du kannst das Makro so anpassen, dass es nur speichert, wenn ein bestimmter Zellwert erreicht ist.
  2. Beispiel 2: Mehrere Dateien überprüfen.

    • Du kannst den Code erweitern, um mehrere Dateinamen zu überprüfen, bevor Du entscheidest, ob die Datei gespeichert werden soll.

Tipps für Profis

  • Nutze die On Error Resume Next Anweisung, um Fehler beim Speichern zu vermeiden.
  • Füge Logging-Funktionen hinzu, um nachzuvollziehen, wann und wo Dateien gespeichert oder übersprungen werden.
  • Verwende eine benutzerdefinierte Dialogbox, um dem Benutzer die Möglichkeit zu geben, die Speicherung zu bestätigen oder abzulehnen.

FAQ: Häufige Fragen

1. Wie kann ich mein Excel-Makro speichern? Um ein Excel-Makro zu speichern, öffne den VBA-Editor und speichere die Datei im Format *.xlsm (Excel-Arbeitsmappe mit Makros).

2. Was passiert, wenn die Datei bereits vorhanden ist? Das Makro wird das Speichern der Datei überspringen, wenn die Datei bereits existiert, und es wird keine Fehlermeldung angezeigt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige