Problem mit dem Verzeichnis für die Auswahl

  • VB.NET

SSL ist deaktiviert! Aktivieren Sie SSL für diese Sitzung, um eine sichere Verbindung herzustellen.

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von jan99.

    Problem mit dem Verzeichnis für die Auswahl

    Moin!

    ich möchte das Verzeichnis mit angeben in welchem eine Datei ausgewählt werden soll.

    Hierzu habe ich folgenden Code

    VB.NET-Quellcode

    1. Private Sub EBL_Run_Work(Filename As String, Optional Execute As Boolean = False)
    2. Dim openFileDialog As New System.Windows.Forms.OpenFileDialog
    3. '------ ------
    4. Try
    5. Dim InitFolder As String = "X:\LISP\vbebl"
    6. If Filename.Length = 0 Then 'dann wird ausgewählt
    7. ' Ermitteln des neuen Speichernamens
    8. If System.IO.Directory.Exists("X:\LISP\vb-ebl") = False Then
    9. InitFolder = System.IO.Path.GetTempPath
    10. End If
    11. With openFileDialog
    12. .Title = "EBL-Scriptdatei laden"
    13. .Filter = "EBL-Script-Datei (*.vbebl) |*.vbebl"
    14. .RestoreDirectory = True
    15. .InitialDirectory = InitFolder
    16. '.FileName = PDF_FileName
    17.  
    18. If Not .ShowDialog() = System.Windows.Forms.DialogResult.OK Then
    19. _Editor.WriteMessage("benutzerdefinierter Programmabbruch!" & vbCrLf)
    20. Exit Sub
    21. End If
    22. Filename = .FileName
    23. End With
    24. Else
    25. _Editor.WriteMessage("Script-Datei:= " & Filename & vbCrLf)
    26. End If
    27. If System.IO.File.Exists(Filename) = False Then
    28. _Editor.WriteMessage("keine Script-Datei nicht gefunden!" & vbCrLf & "Dateiname:= " & Filename)
    29. Exit Sub
    30. End If
    31. _SrvScript.Run(Filename, Execute:=Execute)
    32. Catch ex As System.Exception
    33. _TryReport.Show("unvorhergesehener Fehler in EBL.Service > Script > EBL_Run_Work", ex.ToString)
    34. End Try
    35. End Sub


    Wenn ich debugge, dann wird festgestellt das der einleitens definierte Verzeichnispfad InitFolder vorhanden ist und wird auch entsprechend übergeben.

    Dennoch wird der Auswahldialog mit einem anderen Verzeichnis geöffnet! Ein anderesmal, dann wird dieses Verzeichnis wiederum geöffnet.

    Kann mir jemand weiterhelfen?

    Gruß Jan
    Spekulatius: .RestoreDirectory = True dürfte dazu führen, dass .InitialDirectory ignoriert wird.
    ― Eine häufig von mir verwendete Abkürzung: CEs = control elements (Labels, Buttons, DGVs, ...)
    ― Meine wichtigste Programmiererkenntnis: Mühsam erhängt sich das Eichhörnchen.
    ― If Not GrammarIsOk() Then AssumeThatCodeIsOk = False
    ― »Oh, großes Spaghetticodemonster. Bitte schicke mir Durchblick! Oder zumindest eine Gabel. Oder – wenn es kein Besteck mehr gibt – zumindest Glasnudeln.«
    @VaporiZed Dies funktioniert lokal und über Netz.

    VB.NET-Quellcode

    1. .RestoreDirectory = True
    2. .InitialDirectory = InitFolder
    3. .ShowDialog()

    @jan99 Kann es sein, dass der Pfad nicht existiert?

    VB.NET-Quellcode

    1. "X:\LISP\vbebl"
    2. "X:\LISP\vb-ebl"

    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).
    VB-Fragen über PN / Konversation werden ignoriert!