In meinem Code muss ich einen Platzhalter "*" verwenden, um nach einem Ordnernamen zu suchen, der simliar ist. Dieser Code funktioniert problemlos in VBA (außer für die Zeile Process.Start ...
), aber alles, was es jetzt tut, ist, öffnen Sie meine Dokumente.VB.net Ordner Pfad funktioniert nicht
Es soll einen Netzwerkordner öffnen.
Der String pathStr
erzeugt den endgültigen Ordnerpfad, und das ist richtig
Ich habe triple-checked den Ordnerpfad (I kopiert, was dieser Code erzeugt und eingefügt in Windows Explorer und der Pfad auscheckt)
Warum öffnet mein Code nur Meine Dokumente?
Private Sub OpenJobToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles OpenJobToolStripMenuItem.Click
Dim jobnum As String = ListView1.SelectedItems(0).Text
'Define the master path to all job numbers
Dim masterpath As String = "\\ussatf02\Production\00A Job Folders\"
'Get the child folder path
Dim fullFolder As String = masterpath & jobnum.Substring(0, 5) & "xxx\"
'Get first 8 characters of job number
Dim jobFolder As String = jobnum.Substring(0, 8)
'Define the full path to the jobFolder
Dim xPath As String = fullFolder & jobFolder
'Check the full path with a wildcard to see if there is a folder named something simliar to what we have
Dim foundFolder As String = Dir(xPath & "*", vbDirectory)
'If the folder is not found (length < 2) then throw an error, else open the folder
If (foundFolder.Length < 2) Then
Dim msgRes As MsgBoxResult = MsgBox("The job folder for: " & jobnum & " could not be found.", vbCritical, "Error Finding Folder")
Else
'Define the final path of the folder
Dim pathStr As String = xPath & "\" & foundFolder
'Open the folder
System.Diagnostics.Process.Start("explorer.exe", pathStr)
End If
End Sub
Jede Hilfe wird sehr geschätzt werden !!
EDIT
ich jetzt die Linie ersetzt
Dim pathStr As String = xPath & "\" & foundFolder
Für
Dim pathStr As String = System.IO.Path.GetDirectoryName(xPath & "\" & foundFolder)
Und ich immer noch das gleiche Ergebnis
Welchen Wert haben Sie für xPath erhalten? –
@TonyDong Ich bekomme: '\\ ussatf02 \ Produktion \ 00A Jobordner \ 21643xxx \ 21643043'. Das Problem ist, dass einige Mitarbeiter am Ende des Ordners zusätzliche Zeichen hinzufügen (Beispiel, benenne den Ordner um: 21643043 - Mein Kunde) - also muss ich eine Platzhaltersuche durchführen. – Sanya
Können Sie FoundFolder bekommen? –