igel.daniel
Goto Top

Nachfrage, ob Datei speichern bei automatischem Speichern als TXT Datei mittels VBA

Hallo liebe Community,

ich habe ein VBA Script, mit dem ich automatisch 8 Tabellenblätter aus einer XLSM Datei jeweils als eigene TXT Datei wegspeichern kann. Das funktioniert ansich schon, die Dateien landen in dem Ordner, wo sie sollen. Nervigerweise bekomme ich aber bei jedem Blatt den Prompt, ob ich das jeweilige Tabellenblatt speichern will. Ich denke mal, dass das mit dem ActiveWindows.Close zu tun hat.

Viele kennen das wahrscheinlich vom Speichern als CSV. Wenn man das gemacht hat und die Datei schließen will, kommt nochmal der Hinweis, ob man speichern will. Wie kann ich das umgehen?

Sub TXT_Export()

Application.ScreenUpdating = False

Dim i As Integer, lngSpalte As Long
lngSpalte = 7

On Error Resume Next
    MkDir (Environ("USERPROFILE")) & "\Desktop\" & Format(Date$, "yyyy-mm-dd")  
    ChDir (Environ("USERPROFILE")) & "\Desktop\" & Format(Date$, "yyyy-mm-dd")  
    MkDir "TXT"  
    ChDir "TXT"  

For i = 8 To 16
    Windows(ThisWorkbook.Name).Activate
        Worksheets(i).Select
        Cells.Select
        For a = ActiveSheet.Cells(Rows.Count, lngSpalte).End(xlUp).row To 1 Step -1
        
                If ActiveSheet.Cells(a, 8).Value = "0" Then  
                Rows(a).Delete Shift:=xlUp
            End If
          
                If ActiveSheet.Cells(a, 8).Value = "" Then  
                Rows(a).Delete Shift:=xlUp
            End If
            
        Next a
        Selection.Copy
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Application.CutCopyMode = False
        ActiveSheet.Copy
        ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:=""  
        ActiveWorkbook.Protect Structure:=True, Windows:=False, Password:=""  
        ActiveWorkbook.SaveAs Filename:= _
        ActiveSheet.Name & "_" & Format(Date$, "yyyy-mm-dd") & ".txt", _  
        FileFormat:=xlText, Password:="", WriteResPassword:="", _  
        ReadOnlyRecommended:=False, CreateBackup:=False
    ActiveWindow.Close
    
Next

Application.ScreenUpdating = True

End Sub

Content-Key: 288240

Url: https://administrator.de/contentid/288240

Printed on: April 19, 2024 at 22:04 o'clock

Mitglied: 122990
Solution 122990 Nov 12, 2015 updated at 14:09:27 (UTC)
Goto Top
ActiveWindow.Close SaveChanges:=True

Zum nicht speichern auf False setzen
Zusätzlich gibt's es auch
Application.DisplayAlerts = False

aber nicht vergessen am Ende wieder mit True einzuschalten ...

Gruß grexit
Member: IGEL.Daniel
IGEL.Daniel Nov 12, 2015 at 14:10:02 (UTC)
Goto Top
Hallo grexit,

wie immer warst du eine große Hilfe.

Besten Dank und Grüße