フルパスからファイル名だけを削除するには?

解決


北辰  2005-09-29 19:47:07  No: 125888  IP: [192.*.*.*]

Dim strFilePath1 As String
Dim strFilePath2 As String
strFilePath1="D:\files\test.txt"

例えばこのような、ファイルのフルパスを示す文字列があるとき、
ファイル名「text.txt」を削除して、ファイルがあるフォルダ
「D:\files\」までの文字列  strFilePath2  を作成したいです。
(パスの深さやドライブは一定ではありません、
C:\Documents and Settings\AAA\デスクトップ\text2.txt
なども含まれます。)
つまり、一番最後の「\」以降を削除したいですが、どうすればよろしいでしょうか。よろしくご教授お願いします。

編集 削除
ガッ  2005-09-29 20:20:06  No: 125889  IP: [192.*.*.*]

本当に文字列として扱いたいのなら、
・Mid$()で右から丁寧に調べる
  →(VB6)InStrRevを使ってみてもいい
・面倒なので、Scripting.FileSystemObjectのGetParentFolderNameを使う。

….NETはもっといいのあるかもね。

編集 削除
TTT  2005-09-29 20:35:09  No: 125890  IP: [192.*.*.*]

.NETなら

strFilePath2 = System.IO.Directory.GetParent(strFilePath1).FullName

とか。

編集 削除
いな  2005-09-29 20:45:30  No: 125891  IP: [192.*.*.*]

VB6なら

strFilePath2 = Left(strFilePath1, InStrRev(strFilePath1, "\"))

とか。

編集 削除
北辰  2005-09-29 20:57:33  No: 125892  IP: [192.*.*.*]

皆さんありがとうございました!
VB6ですので、いなさんのアドバイスで希望どおりです。
どうもでした!

編集 削除