我的同事们已经要求我编写一个允许我们输入工号的程序,它将把我们带到数据库中的正确文件夹(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资源管理器,但不会转到预期的路径。谢谢。
答案 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