関連記事があります。 【コード】フォルダパスからフォルダ名を取得する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マクロ





