• 締切済み

VB6.0で文字を分けたいのですが

分からなかったものですから質問させていただきました。 例えば、変数Aに A = C:\Documents and Settings\ファイル名.txt とある場合に Aを B = C:\Documents and Settings C = ファイル名.txt とで分けたいのですがどのようにすればよいのでしょうか。 ご教授よろしくお願いします。

みんなの回答

回答No.4

パスに限った話であれば・・・ ------------------------------------------------------------------ Dim fsoFso As FileSystemObject Dim strFileName As String Dim strParentName As String 'インスタンスを生成する Set fsoFso = New FileSystemObject 'ファイルパスから親ディレクトリ名を取得する strParentName = fsoFso.GetParentFolderName("C:\Hoge\Foo.txt") 'ファイルパスからファイル名を取得する strFileName = fsoFso.GetFileName("C:\Hoge.txt") Set fsoFso = Nothing ------------------------------------------------------------------ こっちの方がいいかと思います。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

こういう例は、本当のニーズの例か、思いついた適当と思う例かはっきりしないと、答えが検討ハズレになる。 もっと鋭い質問者なら Settingsの後 とか 一番右端の\ で分割とか書くだろう。プログラマ的発想であるが。 ーー 2つに分割ぐらいなら(¥はどちらにも属させず) エクセルのセルのA1にデータがある例。 Sub test02() x = Cells(1, "A") p = InStrRev(x, "\") MsgBox p MsgBox Left(x, p - 1) MsgBox Right(x, Len(x) - p) End Sub

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

InStrRevとLeft$とMid$で出来ますよ if InStr(A,"\")>0 then   B = Left$(A,InStrRev( A, "\" ) - 1 )   C = Mid$(A, InStrRev( A, "\" ) + 1 ) end if といった具合でしょう

user2468
質問者

お礼

回答ありがとうございます。 早速意味を調べ、試してみようと思います。 ご教授ありがとうございました。

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

最後の「\」を探して、その前後で分ける。 ヒントは InStr とか Regex。

user2468
質問者

お礼

ヒントありがとうございます。 早速調べて、使い方を理解し、試してみようと思います。 これからも初心者ならではの質問をしていくと思うので、その時には よろしくお願いします。