使用字符串设置文件夹路径VB.Net

时间:2014-03-06 18:29:45

标签: vb.net visual-studio-2010

我的同事们已经要求我编写一个允许我们输入工号的程序,它将把我们带到数据库中的正确文件夹(SolidWorks EPDM)。文件夹的结构如下:C:\ Litania EPDM \ Orders \ XXXX \ XX \ number,第一组X代表年份,第二组代表月份。示例作业编号为112113-444121-1X,因此11表示月份,12表示日期,13表示年份(2013),中间6表示唯一作业编号,1X只是后缀,更改为2X等如果在同一个号码下有多个订单。

我需要完成的是设置变量(字符串),它可以保存年份前面的“20”,月份,数字和后缀,然后我需要将它们组合到文件夹路径中。这就是我所拥有的:

Public Class ProjectLookup

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim day As String = CStr(DateText.Text)
        Dim string1 As String = Microsoft.VisualBasic.Right(day, 4)
        Dim month As String = Microsoft.VisualBasic.Left(string1, 2)
        Dim year As String = "20" + Microsoft.VisualBasic.Right(string1, 2)
        Dim num As String = CStr(NumberText.Text)
        Dim suff As String = CStr(SuffixText.Text)

        Process.Start("explorer.exe", "C:\Litania EPDM\Orders\" + year + " \ " + month + " \ " + num + suff)
    End Sub
End Class

非常感谢任何帮助。目前它运行并打开Windows资源管理器,但不会转到预期的路径。谢谢。

2 个答案:

答案 0 :(得分:2)

您的代码的完整性是错误的,因为您使用VB6方法(十年前的编程技术)连接字符串,在不需要时输出字符串(字符串属性)等等...... < / p>

此外,参数应该用双引号括起来以避免出现问题,例如,在这种情况下,包含空格的目录被视为多于1个参数'原因未包含在内,那么您只需要将其括起来它应该工作:

Process.Start("Explorer.exe", String.Format("""C:\Litania EPDM\Orders\{0}\{1}\{2}""", 
                                            year, month, num & suff ))

答案 1 :(得分:0)

我更喜欢连接文件路径,如下所示:

Dim _path As String = IO.Path.Combine("C:\Litania EPDM\Orders", year, month, num & stuff)
If IO.File.Exists(_path) Then
 'proceed
End If