• ベストアンサー

[VB6]指定されたファイルまでのパスを取得

Microsoft VisualBasic 6.0(SP6)を使用しています。 例えばテキストボックスに、ユーザが任意のファイル名を入力します。 そこで入力されたファイルまでのパスを取得して、 変数「test」に代入しFunctionに引き渡すというような処理をしたく思っています。 実際にこのような処理は可能でしょうか? なにか良い知恵があればご教授お願い致します。

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

  • ベストアンサー
  • hawkwind
  • ベストアンサー率34% (160/469)
回答No.2

以前コーディングしたものを貼り付けておきます。 InstrRevとかを使ってもいいのですが、下記の注釈にあるように 特殊な状況に対応するには1文字ずつ判別した方が都合がよいです。 Function GetFName(Pathname As String) As String Dim sx As Integer Dim ch As String   GetFName = "": sx = Len(Pathname)     '¥がないとき、及びpath="" のときはそのまま抜ける   While (sx > 0)     ch = Mid(Pathname, sx, 1)     If ch = "\" Then       GetFName = LCase(Right(Pathname, Len(Pathname) - sx))       Exit Function     End If     sx = sx - 1   Wend End Function

plastic_days
質問者

お礼

詳しい解説ありがとうございます。 Whileを使って一字ずつの判断をするとは考えなかったです。 まだまだ精進すべきですね; 勉強になります。

その他の回答 (2)

  • hawkwind
  • ベストアンサー率34% (160/469)
回答No.3

#2です 下のコードはフルパスからファイル名を求める処理です。 また、コードの方は投稿で半角スペースが無効になってしまうため、 全角スペースを使っています。 適宜変更をして下さい。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

InStrRevで最後の"\"の位置を調べて、LEFTで切り出す。

plastic_days
質問者

お礼

ありがとうございます。確かに一発で引き出せました。 この件があるまでInStrRev関数なんてよく知りませんでした; 勉強になります。

関連するQ&A