• ベストアンサー

VBAでパスを取得した後、分割して取り扱いたい

VBAでパスを取得するとします。 例えば、 A:\BBBB\CCCC\DDDD\EEEE.TXT この時パスを次のように分割をしようとしています。 PATH1=A:\BBBB\CCCC\DDDD\ PATH2=EEEE.TXT といった具合です。 これらの作業をどのようにプログラミングすれば良いのかわかりません。 情けない質問ですが、ご教授お願いします。

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

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

If文なしで出来ました。 Sub test02() s = "A:\BBBB\CCCC\DDDD\EEEE.TXT" x = Split(s, "\") y = x(UBound(x)) MsgBox y End Sub 最近出来た関数InStrRevでも、Instr関数でも出来ます。 Sub test03() s = "A:\BBBB\CCCC\DDDD\EEEE.TXT" x = InStrRev(s, "\") y = Mid(s, x + 1, Len(s) - x) MsgBox y End Sub Sub test04() s = "A:\BBBB\CCCC\DDDD\EEEE.TXT" st = 1 p01: x = InStr(st, s, "\") If x = 0 Then GoTo p02 st = x + 1 GoTo p01 p02: y = Mid(s, st, Len(s) - st + 1) MsgBox y End Sub

tforfield
質問者

お礼

早速の回答有難うございます。 大変わかりやすく助かりました。 また、様々なプログラムまで添えてください良く理解できました。

その他の回答 (1)

  • kabasan
  • ベストアンサー率44% (264/588)
回答No.1

文字列中に「¥」が複数有り、一番最後の「¥」を知るのは「InStrRev関数」を使います。 あとはその文字位置で「Left関数」で前半を、「Right関数」で後半を切り出します。

関連するQ&A