Hat jemand damit schon Erfahrungen gemacht? Bei mir und auf der Testumgebung funktioniert es, beim Anwender nicht, die Datei wurde auch für den angegebenen Pfad hinterlegt.
Grüße
Wahrscheinlich ist der Anwender in einem anderen Netzwerk.
Das verstehe ich nicht.
Ist der Datei Fest hinterlegt?
Wird der Dateipfad vom Programm gesucht?
Wird die Datei vom Benutzer ausgewählt?
Ein paar Infos und der Teil des Programmcode wäre nicht schlecht sonst kann man nur die Glaskugel bemühen.
Sorry.
Also der Benutzer wählt eine Datei von seinem Computer aus, diese wird dann dem oben angegebenen Pfad hinterlegt, danach wird die mit Name und Icon in einer Tabelle angezeigt und kann ggf. aufgerufen werden.
Dim Benutzer As String = System.Environment.UserName
Try
If Not System.IO.Directory.Exists(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Icons\Temp\" & Benutzer & "") Then
' --- Wenn der aktuelle Benutzer keinen Ordner besitzt, wird dieser nachträglich angelegt --- '
If Not System.IO.Directory.Exists(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Icons") Then System.IO.Directory.CreateDirectory(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Icons")
If Not System.IO.Directory.Exists(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanamgenetsystem\Icons\Temp") Then System.IO.Directory.CreateDirectory(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Icons\Temp")
System.IO.Directory.CreateDirectory(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Icons\Temp\" & Benutzer & "")
End If
If Not System.IO.Directory.Exists(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Files\Temp\" & Benutzer & "") Then
' --- Wenn der aktuelle Benutzer keinen Ordner besitzt, wird dieser nachträglich angelegt --- '
If Not System.IO.Directory.Exists(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Files") Then System.IO.Directory.CreateDirectory(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Files")
If Not System.IO.Directory.Exists(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanamgenetsystem\Files\Temp") Then System.IO.Directory.CreateDirectory(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Files\Temp")
System.IO.Directory.CreateDirectory(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Files\Temp\" & Benutzer & "")
End If
Catch ex As Exception
Fehlerbehandlung = New Fehlerbehandlung()
Fehlerbehandlung.Fehlermeldung = ex
Fehlerbehandlung.ShowDialog()
End Try
Try
Using OpenFileDialog As New System.Windows.Forms.OpenFileDialog
If OpenFileDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
' --- interne Variablen Deklaration --- '
Dim FileInfo As New System.IO.FileInfo(OpenFileDialog.FileName)
Dim _Info As System.IO.FileInfo
' --- Dient der Prüfung ob die Datei bereits in der Tabelle hinterlegt ist --- '
Dim eFile As Boolean = False
' --- Prüfung ob die Datei bereits im Verzeichnis hinterlegt ist --- '
For Each File As String In My.Computer.FileSystem.GetFiles(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Files\Temp\" & Benutzer & "\")
Dim Info As New System.IO.FileInfo(File)
If FileInfo.Name = Info.Name Then
eFile = True
_Info = Info
Exit For
End If
Next
If eFile = True Then
' --- Die Datei exisitert bereits unter \\192.168.88.48\Daten\IT-Tools\Beschwerdemanagementsystem\Files --- '
FileInfo.CopyTo(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Files\Temp\" & Benutzer & "\" & _Info.Name & "", True)
eFile = False
' --- Prüfe ob die Datei bereits in der Liste existiert --- '
For Each File As System.Data.DataRow In ViewModel.Dateiname.Rows
If File.Item("Name") = FileInfo.Name Then
eFile = True
Exit For
End If
Next
If eFile = False Then
Dim DataRow As System.Data.DataRow = ViewModel.Dateiname.NewRow
DataRow.Item("Dateiname") = Replace(FileInfo.FullName, FileInfo.Name, "")
DataRow.Item("Name") = FileInfo.Name
DataRow.Item("Icon") = ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Icons\Temp\" & Benutzer & "\" & FileInfo.Name
ViewModel.Dateiname.Rows.Add(DataRow)
End If
Else
' --- Die Datei existiert noch nicht unter \\192.168.88.48\Daten\IT-Tools\Beschwerdemanagementsystem\Files --- '
FileInfo.CopyTo(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Files\Temp\" & Benutzer & "\" & FileInfo.Name & "")
FileInfo = New System.IO.FileInfo(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Files\Temp\" & Benutzer & "\" & FileInfo.Name & "")
Dim DataRow As System.Data.DataRow = ViewModel.Dateiname.NewRow
DataRow.Item("Dateiname") = Replace(FileInfo.FullName, FileInfo.Name, "")
DataRow.Item("Name") = FileInfo.Name
Dim Image As System.Drawing.Image = System.Drawing.Icon.ExtractAssociatedIcon(FileInfo.FullName).ToBitmap
Image.Save(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Icons\Temp\" & Benutzer & "\" & FileInfo.Name & "")
DataRow.Item("Icon") = ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Icons\Temp\" & Benutzer & "\" & FileInfo.Name
ViewModel.Dateiname.Rows.Add(DataRow)
End If
End If
End Using
If ViewModel.StatusID = 1 Or ViewModel.StatusID = 2 Then
If check_Pflichtfelder() Then If ViewModel.Einordnung.Rows(ViewModel.Einordnung_SelectedIndex).Item("Einordnung") <> "Ohne Folge" Then ViewModel.StatusID = 2
End If
Catch ex As Exception
Fehlerbehandlung = New Fehlerbehandlung()
Fehlerbehandlung.Fehlermeldung = ex
Fehlerbehandlung.ShowDialog()
End Try
Hallo :
Der Teil knallt :
Try
Dim Image As System.Drawing.Image = System.Drawing.Icon.ExtractAssociatedIcon(FileInfo.FullName).ToBitmap
Image.Save(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Icons\Temp\" & Benutzer & "\" & FileInfo.Name & "")
DataRow.Item("Icon") = ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Icons\Temp\" & Benutzer & "\" & FileInfo.Name
Catch ex As Exception
End Try
Hi _Cashisclay,
Vielleicht hat der Anwender die rechte auf den Pfad zuzugreifen nicht.
Wenn etwas mit dem Pfad nicht stimmt könnte der Microsoft Artikel zum Thema Microsoft Pfade helfen.
Der Dateipfad darf kein UNC-Pfad sein: https://referencesource.microsoft.com/#System.Drawing/commonui/System/Drawing/Icon.cs,255. Steht auch so in der Doku.