[[20181004120328]] 『フォルダ名の取得について』(フォルダ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『フォルダ名の取得について』(フォルダ)

ご質問です。

Dim fso As FileSystemObject
Set fso = New FileSystemObject ' インスタンス化

Dim s As String

s = fso.GetFileName("D:\TipsFolder.hoge") ' フォルダ名と拡張子
Debug.Print (s) ' TipsFolder.hoge

s = fso.GetBaseName("D:\TipsFolder.hoge") ' フォルダ名のみ
Debug.Print (s) ' TipsFolder

' 後始末
Set fso = Nothing

◆こちらのコードでフォルダ名を取得されると思ったのですが
デバックで
ユーザー定義型は定義されません

とでました。

取得したいフォルダ名は

デスクトップ ⇒ 仮1 ⇒ 仮2 ⇒ここに何十個あるので取得したい

コードの修正箇所が分かりかねますのでご回答頂きますと
幸いです。

宜しくお願い致します。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


 こちらを参考にしてみてくれ。

https://www.relief.jp/docs/fso-vba-references.html
(ねむねむ) 2018/10/04(木) 12:15


ちなみにデスクトップのパスの取得はこう。

    Dim Path As String, WSH As Variant
    Set WSH = CreateObject("WScript.Shell")
    Path = WSH.SpecialFolders("Desktop") & "\"

(名無し) 2018/10/04(木) 13:03


指定フォルダ下のフォルダ一覧を得るだけならば、標準命令で十分だと思うのですけどねぇ?
 Sub test()
    Const cPATH = "D:\TipsFolder.hoge\" '末尾\
    Dim s As String

    s = Dir(cPATH, vbDirectory)
    While s <> ""
        If s <> "." And s <> ".." Then
            If (GetAttr(cPATH & s) And vbDirectory) <> 0 Then
                Debug.Print s
            End If
        End If
        s = Dir
    Wend
 End Sub
(???) 2018/10/04(木) 13:19

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.