0

问题:

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

根/7000-8000/7400/7473/

根/3000-4000/3800/3846/

这些网络文件夹是“单元文件夹”,其中包含我公司销售的每个“单元”的所有文档、设计、照片、会计等数据。这些文件按子目录组织。数十名员工每天数百次引用这些文件夹。不断深入到您要查找的文件夹是很乏味的。

我想要的是:

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

如何:

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

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

提前感谢您的任何建议!

4

1 回答 1

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
于 2013-04-19T23:26:38.553 回答