「【コード】フォルダパスからフォルダ名を取得するWordマクロ」の続きです。
前回の記事でも少し触れましたInStrRev関数を使ったオーソドックスな技を紹介します。
<目次>
このマクロでできること
フォルダパスから、フォルダ名を取得します。
前回のマクロと同じです。
マクロの解説
ファイルパスからファイル名を取得する場合にも同様の手法を使えますね。
9行目のInStrRev関数にて、フォルダーパスの文字列におけるパスセパレータ(\)の位置(右側から数えた数値)を取得します。
そして10行目のMid関数にて、このパスセパレータの位置の右側から末尾に向かって文字を取得します。
ちなみに、パスセパレータはApplication.PathSeparator とせずに \ で記載してもかまいません。
日本語のシステムでは、Application.PathSeparator は \と同じ意味です。
マクロ
Sub フォルダパスからフォルダ名を取得() Dim Pos_Sep As Long 'パスセパレータ(\)の位置 Dim myFolderPath As String 'フォルダのパス Dim myFolderName As String 'フォルダ名 myFolderPath = "C:\Users\順也\Documents" Pos_Sep = InStrRev(myFolderPath, Application.PathSeparator) myFolderName = Mid(myFolderPath, Pos_Sep + 1) MsgBox myFolderName End Sub
関連記事
【コード】フォルダパスからフォルダ名を取得するWordマクロ
【コード】フォルダパスからフォルダ名を取得するWordマクロ(その2)