1

使用 VBA 的 ACCDB 文件。我正在寻找数据库位置路径中的特定文件夹。它总是距离文件 3 深,但驱动器中的深度是可变的。我抓住了项目路径,将其拆分,但找不到反转它的功能。是否有内置函数或者您必须自己编写代码。我环顾四周,令人惊讶的是在任何地方都找不到解决方案。

    Dim pth As String
    Dim apth As String
    pth = Application.CurrentProject.Path
    apth = Split(pth, "\")
    'Reverse array here
    apth = apth(2) 'Grab second index
    MsgBox (apth) 'confirm folder
    Call search_Project(apth)
4

2 回答 2

1

代码存在一些问题,例如您可以声明一个字符串,然后尝试将其用作数组。下面是使用数组长度和减去 3 得到你想要的位置的修改。我还添加了一项检查以确保数组的长度至少为 3 个元素。删除了 as String for apth,因为您想将其用作数组。

Dim pth As String
Dim apth
pth = Application.CurrentProject.Path
apth = Split(pth, "\")
'Reverse array here
If UBound(apth) >= 3 Then
apth = apth(UBound(apth) - 3)
End If
'Grab second index
MsgBox (apth) 'confirm folder
Call search_Project(apth)
于 2012-08-02T15:24:56.867 回答
1
apth = strReverse(Split(strReverse(pth),"\")(2)) 
于 2012-08-03T01:21:27.777 回答