前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ExcelVBA-Fso打开文件对话框取得文件夹中的一层目录列表

ExcelVBA-Fso打开文件对话框取得文件夹中的一层目录列表

作者头像
哆哆Excel
发布2022-10-25 13:44:26
1.2K0
发布2022-10-25 13:44:26
举报
文章被收录于专栏:哆哆Excel

ExcelVBA-Fso打开文件对话框取得文件夹中的一层目录列表

有时候我们在工作时需要取得文件夹下面的第一层文件夹的目录列表,我们可以dos命令做成bat文件,生成一个txt文件,

也可以用以下的方法:VBA直接取出,我只要一层就可以啦,今天练习一下用做一个自定义的函数,把取得的列表返回到一个数组中,有时有用,这里做个记录吧

这里有两个代码常常用到,(1)打开文件对话框(2)取得列表并返回到数组中

Sub t()

' Dim arr() As String

With Application.FileDialog(msoFileDialogFolderPicker)

.Title = "请选择文件夹"

If .Show = -1 Then

pth = .SelectedItems(1)

arr = GetFolderList(pth)

Else

MsgBox "已取消操作!"

Exit Sub

End If

End With

[b1].Resize(UBound(arr) + 1, 1) = Application.Transpose(arr)

End Sub

下面是一个自定义函数

Function GetFolderList(folderspec)

Dim fs, f, f1, fc, s

Dim temp_arr()

Set fs = CreateObject("Scripting.FileSystemObject")

Set f = fs.GetFolder(folderspec)

Set fc = f.SubFolders

ReDim Preserve temp_arr(fc.Count)

m= 0

For Each f1 In fc

temp_arr(m) = f1.Path

' s = s & f1.Name

' s = s & vbCrLf

m = m + 1

Next

' MsgBox s

GetFolderList = temp_arr

End Function

====这是我的电脑中的一个文件夹“电脑教程”的列表====

====运行代码,列表取出来了=====

====今天就学习到此吧====

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 哆哆Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档