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

2013年8月8日

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

最初の記事を書いたときに、きぬあささんからいろいろ教えていただきまして、せっかくなので紹介いたします。

すでにかなり時間がたっていまして、リアルタイム感が全くありませんが(笑)。

このマクロでできること

フォルダパスから、フォルダ名を取得します。

前回のマクロと同じです。

マクロ1の解説

FileSystemObjectを使っています。

これを使うと、フォルダ名を取得できます。

やっぱりあるんだ。

前回記事を書いたときには、調査不足でした。

最初に指定するフォルダパス(myFolderPath)は、実在するものでないといけません。

【コード】フォルダパスからフォルダ名を取得するWordマクロ(その2)のような単純な文字列の操作であれば、フォルダパスは実在しなくてもいいのですが。

マクロ1


Sub フォルダパスからフォルダ名を取得3()

 Dim FSO As Object
 Dim myFolderPath As String 'フォルダのパス
 Dim myFolderName As String 'フォルダ名

 myFolderPath = "D:\Users\新田 順也\Dropbox"

 Set FSO = CreateObject("Scripting.FileSystemObject")

 myFolderName = FSO.GetFolder(myFolderPath).Name
 MsgBox myFolderName

 Set FSO = Nothing

End Sub

マクロ2の解説

応用技ですが、親フォルダのパスも取得できますし、親フォルダ名も取得できます。

マクロ1と同様、最初に指定するフォルダパスは、実在するものでないといけません。

マクロ2


Sub フォルダパスからフォルダ名を取得4()

 Dim FSO As Object
 Dim myFolderPath As String 'フォルダのパス
 Dim myFolderName As String 'フォルダ名
 Dim myParentFolderPath As String '親フォルダのパス
 Dim myParentFolderName As String '親フォルダ名

 myFolderPath = "D:\Users\新田 順也\Dropbox"

 Set FSO = CreateObject("Scripting.FileSystemObject")
 
 With FSO.GetFolder(myFolderPath)
  myFolderName = .Name
  myParentFolderPath = .ParentFolder
  myParentFolderName = .ParentFolder.Name
 End With
 
 MsgBox "フォルダ名:" & myFolderName & vbCr & _
     "親フォルダのパス:" & myParentFolderPath & vbCr & _
     "親フォルダ名:" & myParentFolderName

 Set FSO = Nothing
 
End Sub

関連記事

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

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

-コード
-,