【Word VBA】フォルダパスからフォルダ名を取得するWordマクロ

2013年7月31日

関連記事があります。
【コード】フォルダパスからフォルダ名を取得するWordマクロ(その2)
【コード】フォルダパスからフォルダ名を取得するWordマクロ(その3)

自分用のメモ書きです。

なんか、このようなマクロはどこかにネットに落ちていそうですが、作ってしまったので掲載しておきます。

(あとで思いましたが、わざわざこんなことせずに、InStrRev関数などを使えば簡単に取り出せましたね。。。)

このマクロでできること

フォルダのパスがある場合に、そのフォルダ名を取得します。

以下のマクロの例では、フォルダのパスに"C:\Users\順也\Documents"を指定しました。

マクロを実行すると、メッセージボックスに"Documents"と表示します。

マクロの解説

GetParentFolderNameメソッドを用いてフォルダパスから、親フォルダのパスを取得します。

FileSystemObjectオブジェクト - GetParentFolderNameメソッド(Office TANAKA)の記事を参考にしてください。

13行目のReplace関数を用いて、フォルダパスから親フォルダのパスの文字列を削除しています。

14行目のApplication.PathSeparatorで、半角の¥を入力しています。

マクロ


Sub フォルダ名を取得()
 
 Dim FSO As Object
 Dim myFolderPath As String ’フォルダのパス
 Dim myParentFolderPath As String '親フォルダのパス
 Dim myFolderName As String ’フォルダ名
 
 myFolderPath = "C:\Users\順也\Documents"
 
 Set FSO = CreateObject("Scripting.FileSystemObject")
 
 myParentFolderPath = FSO.GetParentFolderName(myFolderPath)
 myFolderName = Replace(myFolderPath, _
        myParentFolderPath & Application.PathSeparator, "")
 MsgBox myFolderName
 
 Set FSO = Nothing
 
End Sub

関連記事

【コード】フォルダパスからフォルダ名を取得するWordマクロ

【コード】フォルダパスからフォルダ名を取得するWordマクロ(その2)

【コード】フォルダパスからフォルダ名を取得するWordマクロ(その3)

-コード
-,