0

私は現在このコードを持っています:

Function GetSubDir(ByVal sPath As String, Optional ByVal sPattern As Variant) As Variant

Dim sDir As String
Dim sDirLocationForText As String

On Error GoTo Err_Clk

If Right$(sPath, 1) <> "\" Then sPath = sPath & "\"

If IsMissing(sPattern) Then
sDir = Dir$(sPath, vbDirectory)
Else
sDir = Dir$(sPath & sPattern, vbDirectory)
End If
Do Until LenB(sDir) = 0

If sDir <> "." And sDir <> ".." Then
sDirLocationForText = sDirLocationForText & ";" & sPath & sDir
End If
sDir = Dir$

Loop

If Left$(sDirLocationForText, 1) = ";" Then sDirLocationForText = 
Right(sDirLocationForText, Len(sDirLocationForText) - 1)
GetSubDir = sDirLocationForText

End Function

現在、この関数を呼び出すと、意図したとおりのすべてのフォルダー名が返されます。ただし、ファイル名も返すように手直しする簡単な方法はありますか?前もって感謝します。

私のワークブック

4

1 に答える 1

0

vbDirectoryの代わりにこれらの行で使用する場合vbNormalは、ファイルを取得する必要があります。

If IsMissing(sPattern) Then
   sDir = Dir$(sPath, vbDirectory)
Else
   sDir = Dir$(sPath & sPattern, vbDirectory)
End If
于 2013-03-05T10:22:41.470 に答える