输入框在Windows资源管理器中查找并打开文件夹

时间:2013-04-18 05:31:20

标签: windows input directory

问题:

我有10,000个编号的文件夹。例如:

根/ 7000-8000 /七千四百七十三分之七千四/

根/ 3000-4000 /三千八百四十六分之三千八/

这些网络文件夹是“单元文件夹”,包含我公司销售的每个“单元”的所有文档,设计,照片,会计等数据。这些文档由子目录组织。每天有数十名员工将这些文件夹引用数百次。不断深入到您正在寻找的文件夹是很繁琐的。

我想要的是什么:

我想创建一个简单的输入框,用户只需要输入1到100,000之间的单位编号,然后按回车键。系统将自动打开相应的“单元文件夹”。

如何:

我正在寻找帮助我弄清楚我需要学习哪种脚本语言来完成这项工作的人,特别是我应该研究哪些功能,以及我应该知道的任何交易破坏者。

我需要某种输入框,越简单越好,可以留在桌面或任务栏中。接下来我需要解析输入数字,并将它们分解为数千,数百,数十等。然后我需要将这些变量组装到目标文件夹中,以创建发送给资源管理器的正确命令。最后,如果出现问题,我需要发出错误。

提前感谢任何建议!

1 个答案:

答案 0 :(得分:0)

我们弄清楚了。如果其他人遇到类似这样的内容,则会在下面附上代码:

Option Explicit

Private Function CheckPath(strPath As String) As Boolean
        Dim fso As New FileSystemObject

        If fso.FolderExists(strPath) Then
            CheckPath = True
        Else
            CheckPath = False
        End If
End Function

''''''''''''''''''
Private Sub cmdGo_Click()
Dim unit As Double 'unit number
Dim unitTh As Integer 'for thousand of unit
Dim unitHu As Integer 'for hundred of unit
Dim locationstring As String 'for string to store folder location
Dim Exists As Boolean 'ensure folder exists

locationstring = "Z:\Unit Folders\"
If Val(txtUnit.Text) > 90000 Then
    unit = Val(txtUnit.Text) - 90000
    unitHu = Fix(unit / 100)

    locationstring = locationstring & "RTB90000-90999\RTB"
    locationstring = locationstring & "90" & unitHu & "00"
    locationstring = locationstring & "\RTB90" & unit & "\"
Else
    unit = Val(txtUnit.Text)
    unitTh = Fix(unit / 1000)
    If unit > 10000 Then
        unitTh = unitTh + 10
    End If
    unitHu = Fix((unit - unitTh * 1000) / 100)

    locationstring = locationstring & unitTh & "000-" & unitTh & "999\"
    locationstring = locationstring & unitTh & unitHu & "00"
    locationstring = locationstring & "\" & unit & "\"

End If
Exists = (CheckPath(locationstring))
Dim x
If Exists Then
    x = Shell("c:\windows\explorer.exe " & locationstring, vbNormalFocus)
Else
    MsgBox ("Folder does not exist")
End If

End Sub