• ベストアンサー

フォルダ名の取得方法

タイトルの件、方法が判らず困っています。やりたいのは、 1.あるシートの一覧表に、項目を追加する。 2.その項目を記入したセルを選択し、マクロ起動。 3.セル内の文字をそのままフォルダ名とした新しいフォルダを、指定したパスで作成。 この時、既に同名のフォルダが有る場合にマクロが起動しないようにしたいのですが、指定したパスの先にあるフォルダ一覧をデータとして取得することはできるのでしょうか?良い方法があれば、ご教授願います。

質問者が選んだベストアンサー

  • ベストアンサー
  • takasebou
  • ベストアンサー率42% (61/144)
回答No.2

実際に私が使っているコードです。 第一引数の配列内に一覧を取得します。 '----------------------------------------------------------------------------- ' フォルダ内フォルダ名取得 '----------------------------------------------------------------------------- Public Function gblGetFolderNameFromFolder(ByRef sFolderNames() As String, ByVal sFolderName As String) As Boolean On Error GoTo ONERROR_ABORT Dim objFolders As Object ' Folders Object Dim objFolder As Object ' Folder Object Dim i As Long Dim iMax As Long gblGetFolderNameFromFolder = False '- フォルダ内のファイル名を取得する。 Set objFolders = CreateObject("Scripting.FileSystemObject").GetFolder(sFolderName).SubFolders i = 0 ReDim sFolderNames(0 To objFolders.Count - 1) For Each objFolder In objFolders sFolderNames(i) = objFolder.Name i = i + 1 Next gblGetFolderNameFromFolder = True ONERROR_ABORT: Set objFolder = Nothing Set objFolders = Nothing End Function

YNi2B2C
質問者

お礼

参考にして試行錯誤したところ、問題解決しました。 ありがとうございましたm(__)m

その他の回答 (1)

  • yamada_28
  • ベストアンサー率43% (21/48)
回答No.1

dir関数があるので、それを使ったらよいと思います。詳細は参考URLを。

参考URL:
http://homepage2.nifty.com/kasayan/vba/dir.htm
YNi2B2C
質問者

お礼

有難うございます。dir関数の使い方すら知らなかった ので、非常に参考になりましたm(__)m

関連するQ&A

専門家に質問してみよう