一つ前のフォルダのパスを取得

解決


ケルベロ  2004-08-24 19:29:26  No: 115844

c:\TEST\TEMP\hoge1\自アプリ.exe
c:\TEST\TEMP\hoge2\
というフォルダ更正で自アプリからhoge2の中身を参照したいのですが
なにか良い方法はないのでしょうか?
hoge1とhoge2は固定です。
c:\TEST\TEMP\は任意のパスです。
簡単に自アプリの一つ上のフォルダを取得したいです。
app.pathの../は何?という事がしたいです。
文章下手ですいません。


nanashi  2004-08-24 19:54:45  No: 115845

Dim sPath As String

sPath = App.Path
If Right$(sPath, 1) <> "\" then
   sPath = sPath & "\"
End If

sPath = sPath & "..\hoge2\"

とかで取れませんか?


ケルベロ  2004-08-24 19:59:24  No: 115846

名無しさんありがとうございます。
それだとc:\TEST\TEMP\hoge1\..\hoge2\
になってしまいました。
環境書くの忘れてました。
XPhome
VB6 SP5 です。


ケルベロ  2004-08-24 20:12:00  No: 115847

Dim Temp() As String
Temp = Split(App.Path, "\")
ReDim Preserve Temp(UBound(Temp) - 1)
Debug.Print Join(Temp, "\") & "\hoge2"
こんな方法しか思いつかないです。
..\などを使ってあっさりとれないものでしょうか?


ABC  2004-08-24 20:40:14  No: 115848

c:\TEST\TEMP\hoge1\..\hoge2\
で正解なんじゃないですか?
c:\TEST\TEMP\hoge2\と同じ意味です。

それかFileSystemObjectで現在のフォルダを取得すればParentFolder
プロパティで親フォルダは取得できます。

Dim objFS As Object

Set objFS = CreateObject("Scripting.FileSystemObject")
Debug.Print objFS.GetFolder(App.Path).ParentFolder.Path & "\hoge2"


ケルベロ  2004-08-24 20:56:46  No: 115849

ABCさん名無しさんありがとうございます!!
名無しさんの方法で問題ないです。
私の確認不足でした。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加