Makro löschen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Makro löschen
von: golem
Geschrieben am: 04.11.2003 13:54:42

Hallo,
Habe mir da mal eine harte Nuß überlegt:
Kann man ein Makro schreiben, welches bei Aufruf die eigene XL-Datei löscht in der es sich befindet?
Gruß
Golem

Bild


Betrifft: AW: Makro löschen
von: Andreas Walter
Geschrieben am: 04.11.2003 14:00:36

Ein Makro kann ohne weiteres
- ein neues leers Blatt anlegen
- alle andere Blätter löschen
- ein SAVE durchführen.

Ob ein Makro die Quellen von Makros löschen kann, weiss ich nicht


Bild


Betrifft: Trotzdem danke für Deine Nachricht! o.T.
von: golem
Geschrieben am: 04.11.2003 14:02:09




Bild


Betrifft: Das Wort "Trotzdem" kann nicht stimmen
von: Andreas Walter
Geschrieben am: 04.11.2003 14:04:41

Ich habe gesagt, wie man die Daten löschen kann
Habe gesagt "Ob ein Makro die Quellen von Makros löschen kann, weiss ich nicht"


Die Antwort
"Trotzdem danke für Deine Nachricht!"
klingt, als ob ich gesagt hätte - es geht nicht. Das stimmt nicht


Bild


Betrifft: einfach nur Danke
von: golem
Geschrieben am: 04.11.2003 14:13:38

Hi Andreas,
meinte dankeschön, dass Du mir geschrieben hast und "trotzdem" weil Du es nicht genau weißt.
Viele Grüsse


Bild


Betrifft: VBA-Modul löschen
von: Russi
Geschrieben am: 04.11.2003 14:19:55

Um diese Diskussion zu beenden: Schaut doch mal unter

https://www.herber.de/forum/archiv/276to280/t277041.htm

Vielleicht hilft das...

Russi


Bild


Betrifft: AW: VBA-Modul löschen
von: golem
Geschrieben am: 04.11.2003 14:27:31

Klingt interessant, merkte aber dass ich meine Frage etwas unglücklich gestellt habe: Wollte fragen: " Kann man eine Exceldatei, die ein Makro XY enthält, löschen sobald das Makro aufgerufen wird? Mit "Löschen" meine ich lediglich die XL-Datei NICHT das Makro."

Danke für den Link, enthält ein gutes Beispiel!
Wußte nicht das man auch per Makro den Code löschen kann...


Bild


Betrifft: AW: VBA-Modul löschen
von: Russi
Geschrieben am: 04.11.2003 14:30:49

Dateien lassen sich grundsätzlich per VBA-Befehl "Kill ..." löschen.

Aber nur, wenn die betreffende Datei NICHT GEÖFFNET ist.

Russi


Bild


Betrifft: AW: VBA-Modul löschen
von: Hajo_Zi
Geschrieben am: 04.11.2003 14:55:38

Hallo Russi

auch offene Dateien lassen sich löschen.


Sub zMloesche()
'   von Jürgen Wenzel
    ActiveWorkbook.ChangeFileAccess xlReadOnly
    Kill ActiveWorkbook.FullName
    ThisWorkbook.Close False
End Sub



Bitte keine Mail, Probleme sollten im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro und Excel Version XP Pro




Bild


Betrifft: AW: VBA-Modul löschen
von: Russi
Geschrieben am: 04.11.2003 15:06:13

Hallo Hajo!

Genialer Tip, wäre ich im Leben nicht drauf gekommen! Danke!

Russi


Bild


Betrifft: AW: VBA-Modul löschen
von: Hajo_Zi
Geschrieben am: 04.11.2003 15:07:21

Hallo Russi

man muß nur vorsichtig sein. Die Datei geht ja nicht in den Papierkorb.


Bitte keine Mail, Probleme sollten im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro und Excel Version XP Pro




Bild


Betrifft: AW: VBA-Modul löschen
von: golem
Geschrieben am: 04.11.2003 15:21:45

Super! Danke Euch allen, Ihr habt mir mal wieder gezeigt wie der Hase läuft!


Bild


Betrifft: AW: Makro löschen
von: Dan
Geschrieben am: 04.11.2003 14:31:54

Hallo Goli,
ich denke, dass es nicht geht, dass eine XLDatei sich selber loscht - Fehler:Zugang verweigert. :

Option Explicit


Private Sub Workbook_BeforeClose(Cancel As Boolean) '
    
    If (DateiLoschen(Application.Workbooks(ThisWorkbook.Name)) = False) Then _
        MsgBox "Datei ist nicht geloscht worden."
    
End Sub



Private Function DateiLoschen(ByVal Wrb As Workbook) As Boolean
    On Error GoTo ErrH
    
    DateiLoschen = False
    
    Dim Fso As FileSystemObject, Fld As Folder, Fl As File
    
    Set Fso = New Scripting.FileSystemObject
    If (Wrb.Path <> "") Then
        Set Fld = Fso.GetFolder(Wrb.Path)
    Else
        Wrb.Save
        Set Fld = Fso.GetFolder(Wrb.Path)
    End If
    
    Set Fl = Fld.Files(Wrb.Name)
    
    Fl.Delete
        
    DateiLoschen = True
    
    Exit Function
    
ErrH:
    If (Err.Number = 70) Then
        MsgBox "Laufzeitsfehler beim Versuch die Datei " & Wrb.Name & " zu loschen." & vbCrLf & _
               "Fehler Nummer : " & Err.Number & " ,Beschreibung : " & Err.Description
    Else
        MsgBox "Fehler Nummer : " & Err.Number & " ,Beschreibung : " & Err.Description
    End If
    
End Function

-- Gruss Dich, Dan dusek@cb.vakjc.cz


Bild

Beiträge aus den Excel-Beispielen zum Thema " Zellen kopieren -> Excel stürzt ab ?!"