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