Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Speicherort festlegen





Frage

Hallo, wie kann ich per VBA den Speicherort festlegen. In Word mache ich so: [code]Sub AutoClose() ChangeFileOpenDirectory ("C:\MeinOrdner") End Sub [/code]Habe leider für Excel keine Möglichkeit gefunden Danke im Voraus

Antwort 1 von M.O.

Hallo,

z.B. so:

Sub speichern()

ActiveWorkbook.SaveAs Filename:="C:\MeinOrdner\Test.xls"

End Sub


Gruß

M.O.

Antwort 2 von maxim66

Hallo M.O.,
und danke für Dein Beispiel. Leider suche ich was anderes. Ich möchte, dass ein Dialogfenster (Speichern unter...) sich öffnet, wenn die Datei geschlossen wird. In dem Dialogfenster soll ein bestimmtes Verzeichnis anvisiert werden, bestimmter Dateiname und bestimmter Dateityp als Vorschlag angezeigt werden.
Ich hoffe, dass ich mein Vorhaben jetzt besser erklärt habe

Gruß maxim66

Antwort 3 von M.O.

Hallo maxim66,

hier ein angepasstes Makro aus einem älteren Thread:

Sub Speichern_unter_neuem_Namen()
Dim Neuer_Dateiname
ChDir "C:\MeinOrdner\"
Neuer_Dateiname = Application.GetSaveAsFilename(InitialFileName:="", fileFilter:="Excel-Arbeitsmappe, *.xls")
If Neuer_Dateiname = False Then Exit Sub
ActiveWorkbook.SaveAs Filename:=Neuer_Dateiname
End Sub


Gruß

M.O.

Antwort 4 von M.O.

Hallo,

kleine Verbesserung:

Sub Speichern_unter_neuem_Namen()
Dim Neuer_Dateiname
Neuer_Dateiname = Application.GetSaveAsFilename(InitialFileName:="C:\MeinOrdner\Test.xls", fileFilter:="Excel-Arbeitsmappe, *.xls")
If Neuer_Dateiname = False Then Exit Sub
ActiveWorkbook.SaveAs Filename:=Neuer_Dateiname
End Sub

Gruß

M.O.

Antwort 5 von maxim66

Vielen Dank M.O.,
mit Deinem Ansatz und meiner Erweiterung habe ich endlich geschafft. Falls einer nach dieser Lösung sucht, hier ist der Code:
Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Neuer_Dateiname, Antwort
Dim Verzeichnis, Dateiname As String
Verzeichnis = "C:\MeinOrdner"
Dateiname = "TEST"

    If Not ThisWorkbook.Saved Then
        
        Antwort = MsgBox("Änderungen beim Schließen speichern?", vbYesNoCancel, "  Excel")
        Select Case Antwort
            Case vbNo:
                ThisWorkbook.Saved = True
            Case vbYes:
                ChDir Verzeichnis
                Neuer_Dateiname = Application.GetSaveAsFilename(InitialFileName:=Dateiname, _
                    fileFilter:="Excel-Arbeitsmappe mit Makros, *.xlsm")
                If Neuer_Dateiname = False Then
                    Cancel = True
                    Exit Sub
                Else
                    ActiveWorkbook.SaveAs Filename:=Neuer_Dateiname
                End If
            Case Else: Cancel = True
        End Select
    
    End If
End Sub

Wichtig dabei ist, dass dieser Code in „DieseArbeitsmappe“ abgelegt wird

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: