Benutzer mit den meisten Antworten
datei im Hintergrund öffnen und durch Button_Click speichern im Wunschverzeichnis

Frage
-
Hallo,
ich habe ein Problem und sitze schon seit letzer Woche dran. Vielleicht könnt ihr mir ja behilflich sein.
ich habe eine rtf-datei unter C:\bla.rtf gespecihert. Dieser soll - wenn der Anwender den Button"speichern unter" drückt.- in einem Wunschverzeichnis des Anwenders gespeichert werden, da sie beim beenden des Programms aus C:\ gelöscht wird.
Kann mir da jemand behilflich sein?
danke im Voraus
Antworten
-
Hallo,
um eine Datei zu verschieben, kannst Du File.Move oder zum Kopieren File.Copy verwenden.
Für die Auswahl eines Verzeichnisses verwende den FolderBrowserDialog .
Das ganze könnte z. B. so aussehen:Dim fileName As String = "C:\TEMP\test.txt" Using dialog As New FolderBrowserDialog() dialog.RootFolder = Environment.SpecialFolder.Personal dialog.ShowNewFolderButton = True If dialog.ShowDialog(Me) = DialogResult.OK Then Try ' Verschiebt die Datei direkt ' für Kopieren: System.IO.File.Copy System.IO.File.Move(fileName, _ System.IO.Path.Combine(dialog.SelectedPath, System.IO.Path.GetFileName(fileName))) Catch ex As Exception MessageBox.Show(Me, "Das Verschieben der Datei ist fehlgeschlagen.") End Try End If End Using
Im Beispiel wird eine Fehlermeldung ausgegeben, wenn die Datei nicht verschoben werden kann.
Was wegen fehlender Rechte, weil sie in Benutzung ist, oder weil eine Datei gleichen Namens
bereits vorhanden ist passieren kann.
Du mußt Dir dafür überlegen, ob Du den Anwender eine weitere Auswahl anbietest,
oder im Falle einer bestehenden Datei diese überschreibst (was man aber nie stillschweigend tun sollte).Im übrigen solltest Du keine Dateien im Wurzelverzeichnis (C:\) speichern,
besser sind solche Dateien im temporären Verzeichnis (Path.GetTempPath() ) aufgehoben.Gruß Elmar
- Als Antwort vorgeschlagen Thorsten Dörfler Mittwoch, 14. April 2010 12:11
- Als Antwort markiert Robert Breitenhofer Freitag, 16. April 2010 08:35
Alle Antworten
-
Hallo,
um eine Datei zu verschieben, kannst Du File.Move oder zum Kopieren File.Copy verwenden.
Für die Auswahl eines Verzeichnisses verwende den FolderBrowserDialog .
Das ganze könnte z. B. so aussehen:Dim fileName As String = "C:\TEMP\test.txt" Using dialog As New FolderBrowserDialog() dialog.RootFolder = Environment.SpecialFolder.Personal dialog.ShowNewFolderButton = True If dialog.ShowDialog(Me) = DialogResult.OK Then Try ' Verschiebt die Datei direkt ' für Kopieren: System.IO.File.Copy System.IO.File.Move(fileName, _ System.IO.Path.Combine(dialog.SelectedPath, System.IO.Path.GetFileName(fileName))) Catch ex As Exception MessageBox.Show(Me, "Das Verschieben der Datei ist fehlgeschlagen.") End Try End If End Using
Im Beispiel wird eine Fehlermeldung ausgegeben, wenn die Datei nicht verschoben werden kann.
Was wegen fehlender Rechte, weil sie in Benutzung ist, oder weil eine Datei gleichen Namens
bereits vorhanden ist passieren kann.
Du mußt Dir dafür überlegen, ob Du den Anwender eine weitere Auswahl anbietest,
oder im Falle einer bestehenden Datei diese überschreibst (was man aber nie stillschweigend tun sollte).Im übrigen solltest Du keine Dateien im Wurzelverzeichnis (C:\) speichern,
besser sind solche Dateien im temporären Verzeichnis (Path.GetTempPath() ) aufgehoben.Gruß Elmar
- Als Antwort vorgeschlagen Thorsten Dörfler Mittwoch, 14. April 2010 12:11
- Als Antwort markiert Robert Breitenhofer Freitag, 16. April 2010 08:35