VBA获取文件夹里所有的文件名
时间: 2023-05-13 19:07:37 浏览: 950
可以使用 VBA 中的 Dir 函数来获取文件夹里所有的文件名,具体代码如下:
Sub GetFileNames()
Dim MyFolder As String
Dim MyFile As String
MyFolder = "C:\MyFolder\" '修改为你要获取文件名的文件夹路径
MyFile = Dir(MyFolder & "*.*")
Do While MyFile <> ""
Debug.Print MyFile
MyFile = Dir
Loop
End Sub
这段代码会将文件夹 C:\MyFolder\ 中所有的文件名打印出来。
相关问题
VBA提取文件夹中的文件名
在VBA(Visual Basic for Applications)中,你可以使用`Folder.Files`集合来提取文件夹中的文件名。以下是一个基本的例子:
```vba
Sub ExtractFileNames()
Dim fldr As Object ' 定义一个Folder对象
Dim fileName As String
' 指定要操作的文件夹路径
Set fldr = CreateObject("Scripting.FileSystemObject").GetFolder("C:\YourFolderPath") ' 替换为实际文件夹路径
' 遍历文件夹中的所有文件
For Each fileName In fdr.Files
Debug.Print fileName.Name ' 打印文件名,你可以将其保存到数组或列表中做进一步处理
Next fileName
End Sub
```
在这个例子中,`CreateObject("Scripting.FileSystemObject").GetFolder`用于创建一个FileSystemObject并获取指定路径下的文件夹。然后通过`Files`属性访问该文件夹内的所有文件,并使用`For Each...Next`循环遍历它们。
CAD里面用VBA编写一个提取文件夹下所有文件名到数组的代码
以下是一个示例代码,可以提取指定文件夹下(示例中为"C:\Temp\")所有文件名到一个数组中:
```
Sub GetFileNames()
Dim fso As Object
Dim folder As Object
Dim file As Object
Dim filePaths() As String
Dim i As Integer
'创建FileSystemObject对象
Set fso = CreateObject("Scripting.FileSystemObject")
'获取指定文件夹
Set folder = fso.GetFolder("C:\Temp\")
'遍历文件夹下的所有文件
For Each file In folder.Files
'将文件路径添加到数组中
ReDim Preserve filePaths(i)
filePaths(i) = file.Path
i = i + 1
Next
'输出数组中的文件路径
For i = 0 To UBound(filePaths)
Debug.Print filePaths(i)
Next
'释放对象
Set file = Nothing
Set folder = Nothing
Set fso = Nothing
End Sub
```
该代码会将指定文件夹下所有文件的路径添加到一个字符串数组中,并打印到VBA的“立即窗口”中。你可以将其改为将数组作为函数返回值,以便在代码的其他部分中使用。
阅读全文