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要素であることを確認するためのチェックを追加しました。配列として使用するため、apthのasStringを削除しました。

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 に答える