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

2013年8月8日

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

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

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

このマクロでできること

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

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

マクロ1の解説

FileSystemObjectを使っています。

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

やっぱりあるんだ。

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

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

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

マクロ1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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)

-コード
-,

S