• ベストアンサー

ファイル保存のパスチェック方法

ファイル保存画面を作っています。保存先はダイアログボックスを使用せずパス付きのファイル名を入力させます。画面に入力されたファイル名(パス付)が例えば"C:\test\aaa.text"の場合"aaa.text"というファイルはまだ存在していないのでDir関数では"C:\test"が実際に存在するかどうかのチェックを行えません。何か良い方法があればお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.3

No.1です。 後ろから文字を探す、InStrRev関数もあります。 (少なくともVB6では使用出来ます。) 関数にするとこんな感じ Public Function GetOnlyPath(fileName As String) As String   Dim z0 As Long   z0 = InStrRev(fileName, "\")   If z0 <> 0 Then     GetOnlyPath = Left(fileName, z0)   Else     GetOnlyPath = ""   End If End Function

youngdreamer
質問者

お礼

InstrRev関数には気づいたのですが、そこからMidを使おうとしていました。Leftの方が適してますね。ありがとうございました。

その他の回答 (2)

noname#6715
noname#6715
回答No.2

#1さんに補足。 で、その「\」の位置を探すのにはInstr関数が役に立つでしょう。 (これってVB.NET用のものですがVB6にあったっけ?) http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ ja/vblr7/html/vafctinstr.asp (一行につなげてください) #一回Split関数をお勧めしそうになった。危ない危ない。

youngdreamer
質問者

お礼

回答ありがとうございます。Instrを調べるとInstrRev関数を見つけました。Instr関数が良いヒントになりました。ありがとうございます。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 パスだけを取り出して、フォルダの存在チェックをすればいいだけでは? パスの取り出しは、後ろから"\"を探して、その位置までを取り出せばいいです。

youngdreamer
質問者

お礼

回答ありがとうございます。試してみてできました。とても助かりました。

関連するQ&A