- 締切済み
VB6.0で文字を分けたいのですが
分からなかったものですから質問させていただきました。 例えば、変数Aに A = C:\Documents and Settings\ファイル名.txt とある場合に Aを B = C:\Documents and Settings C = ファイル名.txt とで分けたいのですがどのようにすればよいのでしょうか。 ご教授よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- kazuhisa01
- ベストアンサー率32% (158/487)
パスに限った話であれば・・・ ------------------------------------------------------------------ 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)
こういう例は、本当のニーズの例か、思いついた適当と思う例かはっきりしないと、答えが検討ハズレになる。 もっと鋭い質問者なら 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)
InStrRevとLeft$とMid$で出来ますよ if InStr(A,"\")>0 then B = Left$(A,InStrRev( A, "\" ) - 1 ) C = Mid$(A, InStrRev( A, "\" ) + 1 ) end if といった具合でしょう
- fujillin
- ベストアンサー率61% (1594/2576)
最後の「\」を探して、その前後で分ける。 ヒントは InStr とか Regex。
お礼
ヒントありがとうございます。 早速調べて、使い方を理解し、試してみようと思います。 これからも初心者ならではの質問をしていくと思うので、その時には よろしくお願いします。
お礼
回答ありがとうございます。 早速意味を調べ、試してみようと思います。 ご教授ありがとうございました。