Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Excel 2016 VBA für Profis

DateiSpeichernUnter-Dialog anzeigen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Mit geringen Abweichungen funktioniert der DateiSpeichernUnter-Dialog ebenso wie der DateiÖffnen-Dialog. So können Ihre Benutzer eigene Dateinamen in unterschiedlichen Pfaden angeben.

Transkript

Zum "GetOpenFilename" gibt es auch das Gegenstück "GetSaveAsFilename". Das verhält sich sehr ähnlich, nicht nur optisch, sondern auch technisch und damit können Sie dem Benutzer erlauben, bestimmte Dateien unter einem neuen Namen zu speichern, aber Sie haben Zugriff auf den Dateinamen und Pfad und können bestimmte, ich sag mal, nicht erlaubte Pfade oder solche Sachen verhindern. Das heißt, ich mache jetzt hier einfach eine neue Prozedur: "Sub DateiSpeichernUnter()". Die macht nicht die eigentliche Arbeit des Speicherns, das hängen wir so als Beispiel noch dran, sondern sie kümmert sich erstmal darum, einen Dateinamen zu ermitteln. Also mit "Dim varDatei As Variant" -- natürlich -- werde ich ermitteln, welche Datei der Benutzer gerne hätte und vorher kriegt er von mir einen Vorschlag: "Dim strVorschlag As String", das ist ein String-Datentyp. Da werde ich einfach "strVorschlag=", das Ganze zusammensetzen; z. B. möchte ich da als Idee wieder Zellen und Tabellen, "Z&T_Beispiel" davor stehen haben, und meinetwegen, das ist gerne gewünscht, das Datum in irgendeiner Form, aber formatiert, so dass ich also viermal die Jahreszahl, besser gesagt, die vierstellige Jahreszahl habe, Unterstrich, zweistelligen Monat -- Achtung, großes M, sonst hätten Sie die Minuten --, Unterstrich, zweistelliger Tag. Und das Ganze verkettet mit der Endung ".xlsx". Das ist der Vorschlag, unter dem ich den Dateinamen speichern möchte und der Benutzer kriegt gleich noch eine Chance, den zu ändern. Mit "varDatei" rufe ich jetzt das Gegenstück auf, "Application.GetSaveAsFilename"; und das hat genau einen Parameter mehr als "GetOpenFilename", nämlich ein "InitialFilename". Was schlage ich vor? Das ist mein "strVorschlag" und den Rest könnnen wir von da oben herunterkopieren. Sagen wir mal dieser Teil, also nach dem Komma den Filter setzen. Ich schiebe das mal ein klein bisschen zusammen, dann sehen Sie es noch komplett. Und anschließend muss ich, wie eben auch, prüfen "If varDatei=False Then", es ist abgelehnt, "Else" und "End If". Und dann kann ich entsprechend hier oben herunterkopieren. Wenn es abgelehnt wurde, dann mache ich eine Meldung und wenn es akzeptiert wurde, dann übernehme ich erstmal die gleiche Meldung. "varDatei", soweit alles in Ordnung, einmal "Debuggen" "Kompilieren" und wenn ich es jetzt ausführe, dann sehen Sie, das sieht erstmal genauso aus, so vom Design her, wie der "Datei öffnen"-Dialog. Da steht jetzt hier "Speichern unter", das könnte ich ja auch noch manipulieren. Und da sollte eigentlich ein Vorschlag drinstehen. Der steht deswegen nicht drin, weil die Endung und dieser Dateityp nicht zusammenpassen. Also muss ich da noch mal ausbessern; da muss man nämlich immer aufpassen, also ich werde mal nur die XLSX-Dateien zusammenhalten. Als Bild ist sowieso nicht so sinnvoll, nehmen wir also nur die beiden, aber wichtig ist, dass diese und diese Endung zusammenpassen. Und Sie sehen schon, da steht es drin, es ist ein sehr lästiger Fehler, denn es gibt keine Hilfe dazu, das verschwindet nur ganz unscheinbar. Und jetzt werde ich als Benutzer erstmal diesen Dateinamen akzeptieren und beim Speichern kriegt mein Programm dann diesen Dateinamen zurück; das ist der Vorschlag. Wenn ich es direkt noch mal aufrufe und aber hier manipuliere: "abcdef", ich lass auch mal die Endung weg, krieg ich trotzdem einen Dateinamen zurück, und zwar mit Endung, deswegen mussten die übereinstimmen. Ich habe also in jedem Fall irgendeinen gültigen Dateinamen zurück und kann dann im Programm darauf reagieren. Das ist jetzt der Teil, wo ich sage, der gehört eigentlich nicht ganz zum Thema. Wenn ich da wirklich speichern wollte, dann muss ich das per Programmierung machen; z. B. das "ActiveWorkbook", wenn es überhaupt diejenige ist, die ich speichern will, die Datei. Ein "SaveAs" und da übergebe ich jetzt diesen "varDatei", den Dateinamen, der da drin steht. Das setzte ich nur mal als Kommentar da hin, das käme, wenn Sie wirklich eine Excel-Datei speichern wollen. Aber natürlich funktioniert das auch, wenn Sie irgendwelche Daten in einer Textdatei kopieren wollen oder was auch immer Sie machen wollen. Das liegt daran, was Ihr Programm macht, deshalb genau wie hier kommentiert. Die eigentliche Arbeit liegt hier sozusagen, um dann anschließend zu prüfen, ob es mit "False" oder einem gültigen String ausgewählt wurde oder eben nicht.

Excel 2016 VBA für Profis

Nutzen Sie die Möglichkeiten der Programmiersprache VBA in Excel 2016, um eigene Dialoge zu erstellen, auf andere Arbeitsmappen zuzugreifen und wichtige Funktionen einzusetzen.

5 Std. 52 min (55 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Hersteller:
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:25.01.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!