Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1712to1716
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
Inhaltsverzeichnis

"Speichern unter" mit VBA für eigene Files

"Speichern unter" mit VBA für eigene Files
24.09.2019 09:23:58
Werner
Hallo Forum,
ich erzeuge mit Hilfe von VBA neue Files, möchte aber innerhalb meines VBA-Codes weder den Namen noch den Speicherort vorgeben; das möchte ich dem Anwender überlassen.
Meine Frage: wo kann ich den dafür notwendigen VBA-Code finden? Schön - aber nicht unbedingt zwingend - wäre, wenn ich noch den Namen der Erweiterung (z. B. ".CSV") vorgeben könnte.
Gruß
Werner

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: "Speichern unter" mit VBA für eigene Files
24.09.2019 09:36:41
Daniel
Hi
Den Macrocode kannst du finden, indem du das Speichern unter von Hand ausführst und dabei den Macrorecorder mitlaufen lässt.
Im aufgezeichneten Code siehst du dann wie es prinzipiell funktioniert und kannst von dort auch mit F1 direkt in die Hilfeseiten aufrufen.
Die Dateierweiterung solltest du nicht selbst vorgeben, diese erzeugt Excel automatisch in Abhängigkeit vom gewählten Dateityp.
Damit ist sichergestellt, dass sie korrekt ist.
Gruß Daniel
vergiss dass
24.09.2019 12:04:05
Daniel
das ist für den anderen Fall, wenn du Speichernamen explizit vorgeben willst, ohne dass der Anwender was auswählen darf.
Gruß Daniel
Anzeige
AW: "Speichern unter" mit VBA für eigene Files
24.09.2019 12:33:36
Werner
Hallo Daniel,
Deinen Vorschlag habe ich ausgeführt; hier das Ergebnis, welches der Macrorecorder aufgezeichnet hat:

Sub Makro1()
' Makro1 Makro
ChDir "C:\Users\Werner\Downloads"
ActiveWorkbook.SaveAs Filename:="C:\Users\Werner\Downloads\xxx2.xlsm", _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub

Wo soll ich hier angeben, welche Daten ich speichern möchte? Was hier gespeichert wird, ist meine Excel-File, und nicht die von mir erstellten Daten.
Trotzdem: Danke für Deine Antwort
AW: "Speichern unter" mit VBA für eigene Files
24.09.2019 11:02:31
Nepumuk
Hallo Werner,
teste mal:
Public Sub Beispiel()
    Dim objFileDialog As FileDialog
    Set objFileDialog = Application.FileDialog(msoFileDialogSaveAs)
    With objFileDialog
        .FilterIndex = 15
        If .Show Then
            Application.DisplayAlerts = False
            Call .Execute
            Application.DisplayAlerts = True
        End If
    End With
    Set objFileDialog = Nothing
End Sub

Gruß
Nepumuk
Anzeige
AW: "Speichern unter" mit VBA für eigene Files
24.09.2019 12:48:35
Werner
Hallo Nepumuk,
auch Dir "Danke" für Deinen Code. Leider ist der Code nur dazu geeignet, den Inhalt meiner Excel-Tabelle zu speichern.
Wenn ich in meiner ersten Beschreibung als Beispiel ".CSV" genannt hatte, dachte ich nicht daran, den Inhalt einer Excel-Tabelle als CSV-File zu speichern. Ich generiere Code (mit Sonderzeichen), welche ich dann in eine neue File "irgendwo" auf meinem Rechner speichern möchte. Ort und Name soll der Anwender im entsprechenden Dialog selbst festlegen.
Ich hoffe, mein Anliegen ist etwas verständlicher geworden.
In anderen Projekten habe ich das bisher wie folgt gelöst:
Open NewFile For Output As #1
Print #1, "Daten1"
Print #1," Daten2"
Close #1

Zuvor muss ich allerdings Pfad und Name der neuen File festlegen, ggf. auch die Erweiterung. Und hier dachte ich an den Speicher-unter-Dialog.
Gruß
Werner
Anzeige
AW: "Speichern unter" mit VBA für eigene Files
24.09.2019 12:55:07
Daniel
Hi
in dem Fall schau dir mal Application.GetSaveAsFilename an.
damit öffnet sich der FileDialog und Verzeichnis und Name der ausgewählten Datei werden in einen String geschrieben, mit welchem du dann weiter arbeiten kannst.
dim SpeicherName as String
SpeicherName = Application.GetSaveAsFilename
Msgbox SpeicherName
Gruß Daniel
AW: "Speichern unter" mit VBA für eigene Files
24.09.2019 13:08:04
Werner
Hallo Daniel,
SUPER!
Genau das habe ich gesucht.
Bei meinem Test wurde mir als Speichername zurückgegben: C:\Users\Werner\Downloads\xxxx.txt
Danke. Problem erfolgreich gelöst.
Gruß
Werner
Anzeige
AW: "Speichern unter" mit VBA für eigene Files
24.09.2019 19:30:39
Werner
Hallo Excel-Freunde,
als "Dankeschön" dafür, dass mir schon mehrfach in diesem Forum geholfen wurde, habe ich eine kleine Demo-Version mit "Application.GetSaveAsFilename" zusammengestellt. In dem Code nutze ich auch "IniRead" und "IniWrite", um den ausgewählten Speicherort beim nächsten Aufruf wieder zu haben; mehr Informationen dazu im Code.
Den Beispiel-Code findet ihr hier: https://www.herber.de/bbs/user/132171.txt
Gruß
Werner
AW: "Speichern unter" mit VBA für eigene Files
24.09.2019 12:56:52
Nepumuk
Hallo Werner,
so besser?
Public Sub Beispiel()
    Dim objFileDialog As FileDialog
    Set objFileDialog = Application.FileDialog(msoFileDialogSaveAs)
    With objFileDialog
        .FilterIndex = 12
        If .Show Then
            MsgBox .SelectedItems(1)
        Else
            MsgBox "Abgebrochen"
        End If
    End With
    Set objFileDialog = Nothing
End Sub

Gruß
Nepumuk
Anzeige
AW: "Speichern unter" mit VBA für eigene Files
24.09.2019 13:14:53
Werner
Hallo Nepumuk,
Danke für die Erweiterung Deines Codes. Ergebnis: es funktioniert und liefert das gewünschte Ergebnis. Aber: der von Daniel vorgeschlagene Code ist um einiges kürzer; ich werde dessen Code verwenden, würde mich aber freuen, auch zukünftig von Dir Antworten zu erhalten.
Gruß
Werner

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige