在Access VBA中搜索和匹配部分文件夹名称

问题描述

输入此问题的标题时,我看到的是最热门的结果,但是我走到了穷途末路...

我有一个客户列表,每个客户都有一个职位编号[Job_Ref__]。与此结合,每个客户都在SharePoint中为其所有文档获得一个文件夹。命名约定为作业编号-姓,名。我希望能够单击“访问”表单上的一个按钮,该按钮可以打开客户的特定文件夹,但会继续在本地磁盘上打开“我的文档”。

我尝试了下面的代码,但没有客户的文件夹详细信息,它可以毫无问题地打开SharePoint“驱动器”的根目录...

当我单击表单上的“打开文件夹”按钮时,以下内容起作用:

Private Sub Command232_Click()
Dim folderName As String
Dim folderfullPath As String

folderName = Me.FilePath
folderfullPath = "C:\Users\" & Environ("Username") & "\SharePoint Site\Customers 2020\"
Call Shell("explorer.exe " & folderfullPath,vbnormalFocus)
End Sub

当我使用folderName时,就是遇到问题;我尝试通配文件名称,但无济于事:

Private Sub Command232_Click()
Dim folderName As String
Dim folderfullPath As String

folderName = Me.FilePath
folderfullPath = "C:\Users\" & Environ("Username") & "\SharePoint Site\Customers 2020\"
Call Shell("explorer.exe " & folderfullPath & folderName & "*",vbnormalFocus)
End Sub

任何帮助都将不胜感激,因为我碰到了一个很大的砖墙。
值得注意的是:我试图定义folderName = Job_Ref__,但是我觉得这太含糊了,因此我在访问表单中添加了带有宏的FilePath字段,该字段用于构建客户的文件名称Job_Ref__-姓氏,名字第一名称
这些都没有奏效-我在这方面做得太多吗? XD

解决方法

Windows允许在文件名中使用逗号,但是Shell()函数不喜欢。选项:

  1. 不要在文件名中使用逗号,而在VBA中使用Replace()函数来消除字段值中的逗号以匹配文件名

  2. 使用FollowHyperlink打开文件夹-它确实接受逗号
    FollowHyperlink(folderfullPath & folderName)