"Datei Speichern unter"

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Monk32.

    "Datei Speichern unter"

    Hallo;)
    Ich möchte das Visual Basic automatisch und unsichtbar eine Datei aus dem Verzeichnis z.B "C:\Temp" lädt,
    und wenn man dann im Formular auf den Button "speichern" klickt, kann man die gelade datei irgendwo abspeichern...

    Das heißt VB soll immer eine gleiche Datei aus einem Verzeichnis zum Abspeichern anbieten. Es soll kein Format der Datei geändert werden oder so.. Die Datei soll einfach irgendwo kopiert werden.

    Wie könnte ich es machen?

    Danke
    MfG Monk32
    Sieh mal unter

    VB.NET-Quellcode

    1. SaveFileDialog

    nach, der hat diverse Eigenschaften zur Voreinstellung.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Was verstehst du nicht?

    Wenn du das Control auf die Form ziehst (bzw. es erscheint dann unten an der Form), hast du ja verschiedene Eigenschaften. Die wichtigste ist "Filter"; dort gibst du dann, in welchem Format (also z.b. Textdatei) der Benutzer Dateien abspeichern darf, als Beispiel:

    "Website (*.html)|*.html"

    Der Benutzer sieht dann im Dialog den Text "Website (*.html)" (er weiss dann, in welchem Format der Dateien abspeichern kann, und die Datei wird mit der Endung ".html" abgespeichert (steht nach dem | ).
    Du kannst auch mehrere Dateitypen angeben, dann kann der Benutzer auswählen:

    "Textdatei (*.txt")|*.txt|Richtextformat (*.rtf)|*.rtf"

    Der Benutzer kann dann zwischen Textdatei und Richtextformat wählen.
    Wenn der Benutzer eine Datei in einem beliebigen Format abspeichern können soll:

    "Alle Dateien (*.*)|*.*"


    Mit FilterIndex gibst du an, welcher Dateityp als Standard gewählt werden soll.
    Also wenn du zum Beispiel bei Filter "*.txt" und "*.rtf" angegeben hast, und als FilterIndex 2 setzt,
    wird standardmässig "*.rtf" ausgewählt.

    Die anderen Eigenschaften solltest du eigentlich verstehen ("CheckFileExist" ist ja nicht so schwer zu verstehen...)

    Den Dialog aufrufen kannst du mit:

    SaveFileDialog1.ShowDialog()

    Den Pfad den der Benutzer ausgewählt hat (also den Pfad, wo die Datei gespeichert werden muss),
    findest du mit "SaveFileDialog1.FileName" heraus.

    Du solltest zudem beim Dialog überprüfen, ob der Benutzer OK geklickt hat ( -> Datei speichern) oder ob er auf Abbrechen geklickt hat:


    Dim dlgResult As DialogResult = SaveFileDialog1.ShowDialog()
    If dlgResult = Windows.Forms.DialogResult.Cancel Then
    Exit Sub
    End If

    Ich hoffe, dass hat dir ein wenig weitergeholfen...


    Gruss
    sandiro
    Vollzitat des direkten Vorposts an dieser Stelle entfernt ~VaporiZed

    Dankeschön sandiro!
    Ich verstehe leider nicht, wie ich angeben soll, welche Datei gespeichert werden soll.. In meinem Fall also "C:\Temp\FIRMA.ACCDB"

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()

    geht ganz leicht

    VB.NET-Quellcode

    1. If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
    2. If File.Exists("C:\Temp\FIRMA.ACCDB") Then
    3. File.Copy("C:\Temp\FIRMA.ACCDB", SaveFileDialog1.FileName)
    4. Else
    5. MsgBox("Die zu kopierende Datei existiert nicht!")
    6. End If
    7. End If


    vergiss aber nicht vorher System.IO zu importieren

    mfg Mike