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
Please also mark the comments that contributed to the solution of the article
Content-Key: 365197
Url: https://administrator.de/contentid/365197
Printed on: April 18, 2024 at 01:04 o'clock
2 Comments
Latest comment
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.