Datei erstellen mit FIleStream - Pfadformat wird nicht unterstützt
Guten Tag liebe Community
Folgendes Problem:
Der Benutzer gibt über ein SaveFileDialog den gewünschten Dateinamen und Pfad an.
Nachdem der Dialog abgeschlossen wurden, wird ein Sub aufgerufen, welcher die Datei (.pdf) mit einem FileStream erstellt.
Wenn der Benutzer den vorgegebenen Dateinamen zum speichern ändert, heisst die Datei schlussendlich trotzdem wie nach Vorgabe. (Code 1)
Also hab ich probiert den Pfadnamen unmittelbar vor dem Aufrufen des oben genannten Subs zu initialisieren. (Code 2)
Nun sagt der FileStream aber das dass Pfadformat nicht unterstützt wird. (Error im Anhang)
Code 1:
Code 2:
Weiss jemand was das Problem ist? Der Pfad ist korrekt und wenn ich den Pfad nicht unmittelbar vor dem Sub initialisiere läuft alles gut. (bis das der Dateiname beibehalten wird)
Vielen Dank im Voraus!
Lg
Folgendes Problem:
Der Benutzer gibt über ein SaveFileDialog den gewünschten Dateinamen und Pfad an.
Nachdem der Dialog abgeschlossen wurden, wird ein Sub aufgerufen, welcher die Datei (.pdf) mit einem FileStream erstellt.
Wenn der Benutzer den vorgegebenen Dateinamen zum speichern ändert, heisst die Datei schlussendlich trotzdem wie nach Vorgabe. (Code 1)
Also hab ich probiert den Pfadnamen unmittelbar vor dem Aufrufen des oben genannten Subs zu initialisieren. (Code 2)
Nun sagt der FileStream aber das dass Pfadformat nicht unterstützt wird. (Error im Anhang)
Code 1:
Private Sub saveFile()
Dim exePath As String = Directory.GetCurrentDirectory
With SaveFileDialog1
.FileName = "VPN-Formular_" & Today & ".pdf"
.InitialDirectory = "C:\Users\" & Environment.UserName & "\Desktop"
End With
Dim pdfPath As String = SaveFileDialog1.InitialDirectory & "\" & SaveFileDialog1.FileName
If SaveFileDialog1.ShowDialog() = DialogResult.OK Then
If File.Exists(SaveFileDialog1.FileName) Then
File.Delete(SaveFileDialog1.FileName)
End If
If Me.Visible = True Then
getScreen(exePath)
Form2.getScreen(exePath)
Else
Form2.getScreen(exePath)
getScreen(exePath)
End If
If Path.HasExtension(pdfPath) And Path.GetExtension(pdfPath) = ".pdf" Then
Else
pdfPath = pdfPath.Insert(pdfPath.Length, ".pdf")
End If
createPDF(exePath, pdfPath)
Application.Exit()
End If
End Sub
Code 2:
Private Sub saveFile()
Dim exePath As String = Directory.GetCurrentDirectory
With SaveFileDialog1
.FileName = "VPN-Formular_" & Today & ".pdf"
.InitialDirectory = "C:\Users\" & Environment.UserName & "\Desktop"
End With
If SaveFileDialog1.ShowDialog() = DialogResult.OK Then
If File.Exists(SaveFileDialog1.FileName) Then
File.Delete(SaveFileDialog1.FileName)
End If
If Me.Visible = True Then
getScreen(exePath)
Form2.getScreen(exePath)
Else
Form2.getScreen(exePath)
getScreen(exePath)
End If
Dim pdfPath As String = SaveFileDialog1.InitialDirectory & "\" & SaveFileDialog1.FileName
If Path.HasExtension(pdfPath) And Path.GetExtension(pdfPath) = ".pdf" Then
Else
pdfPath = pdfPath.Insert(pdfPath.Length, ".pdf")
End If
createPDF(exePath, pdfPath)
Application.Exit()
End If
End Sub
Weiss jemand was das Problem ist? Der Pfad ist korrekt und wenn ich den Pfad nicht unmittelbar vor dem Sub initialisiere läuft alles gut. (bis das der Dateiname beibehalten wird)
Vielen Dank im Voraus!
Lg
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 365197
Url: https://administrator.de/contentid/365197
Ausgedruckt am: 23.11.2024 um 18:11 Uhr
2 Kommentare
Neuester Kommentar
Hi,
die FileName-Eigenschaft enthält doch schon den vollständigen Pfad, bzw. muss damit vorkonfoguriert werden. Bau einfach mal eine MsgBox ein, welche Dir FileName anzeigt.
Außerdem: Ja, natürlich muss Du nach dem Dialog den FileName nochmal nach pdfPath kopieren, wenn Du mit letzterer Variable weiterarbeiten willst.
E.
die FileName-Eigenschaft enthält doch schon den vollständigen Pfad, bzw. muss damit vorkonfoguriert werden. Bau einfach mal eine MsgBox ein, welche Dir FileName anzeigt.
Außerdem: Ja, natürlich muss Du nach dem Dialog den FileName nochmal nach pdfPath kopieren, wenn Du mit letzterer Variable weiterarbeiten willst.
E.