excel怎样用vba自动提取文件夹内的文件名

excel怎样用vba自动提取文件夹内的文件名,第1张

dim P as string,F as string

p="路径"

f=dir(p)

do until f=""

msgbox (f)

f=dir()

loop

Sub readsubfolders()

i = Cells(RowsCount, 1)End(3)Row

Set fso = CreateObject("scriptingfilesystemobject")

Set myfolder = fsoGetFolder("D:\a") '引号内填写文件夹a的完整路径

For Each myfile In myfolderFiles

If myfileName Like "xls" Then

Set wb = WorkbookOpen(myfilePath)

i = i + 1

Cells(i, 1) = wbName

Cells(i, 2) = wbWorksheets("餐饮费用")[b2]

Set rg = wbWorksheets("餐饮费用")UsedRangeFind(What:="供货商地址", LookIn:=xlValues, LookAt:=xlWhole)

Cells(i, 3) = rgOffset(1)

Cells(i, 4) = rgOffset(2)

Set rg = wbWorksheets("餐饮费用")UsedRangeFind(What:="承包商地址", LookIn:=xlValues, LookAt:=xlWhole)

Cells(i, 5) = rgOffset(1)

Cells(i, 6) = rgOffset(2)

Set rg = wbWorksheets("餐饮费用")UsedRangeFind(What:="进货详单内容2", LookIn:=xlValues, LookAt:=xlWhole)

Cells(i, 7) = rgOffset(, 1)

wbClose False

End If

Next

Set fso = Nothing

End Sub

文章介绍excel中使用vba提取文件名的 *** 作步骤。根据需要自行修改vba提取文件名的路径和存放单元格即可。

在excel中使用VBA编写代码,可以轻松的提取某个文件夹下面的所有文件名。

比如笔者在F盘下面建立了一个文件夹,文件夹的名称是:office教程网,现在想将“office教程网”这个文件夹下面的所有文件名提取出来放在当前工作表的C列。

具体的vba提取文件名的 *** 作如下:

1按下ALT+F11,打开VBE编辑器。

2执行“插入——模块”,插入模块1。

3在右边的代码编辑窗口,复制下面的代码,然后单击“绿色箭头”或者快捷键F5键,运行代码。

Private Sub vba提取文件名()

Dim FileName As String

Dim i As Long

FileName = Dir("F:\office教程网\")

i = 0

Range("C:C")ClearContents

Do While FileName > ""

i = i + 1

Cells(i, 3) = FileName

FileName = Dir

Loop

End Sub

4关闭VBE窗口,回到工作表中,可以在C列看到F盘“office教程网”文件夹下面所有的文件名全部罗列在C列了。

关于上面的vba提取文件名的代码,请在实际使用时,根据需要修改提取文件名的路径(F:\office教程网\),以及存放在C列的位置(Cells(i, 3))。

用DIR这个函数来列出某个文件夹下的内容,

以excel里的为例

Dim i As Integer

i = 1

Sheet1Range("A" & i) = Dir("C:\")

Do While True

i = i + 1

Sheet1Range("A" & i) = Dir

If Sheet1Range("A" & i) = "" Then Exit Do

Loop

提取当前文件夹下的文件名称并放在A列

Sub 按钮1_Click()

ApplicationScreenUpdating = False

Set fso = CreateObject("scriptingfilesystemobject")

Set ff = fsogetfolder(ThisWorkbookPath) 'ThisWorkbookPath是当前代码文件所在路径,路径名可以根据需求修改

ActiveSheetUsedRangeClearContents

a = 1

For Each f In ffFiles

Rem 如果不需要提取本代码文件名,可以增加if语句 if fname<> thisworkbookname then

Rem 如果值需要提取某类文件,需要对fname的扩展名进行判断

Rem 个人感觉split取 扩展名:split(fname,"")(ubound(split(fname,""))),然后再判断,避免文件名还有其他“”

Cells(a, 1) = fName '相对路径名

Cells(a, 2) = f '全路径名

a = a + 1

Next f

ApplicationScreenUpdating = True

End Sub

以上就是关于excel怎样用vba自动提取文件夹内的文件名全部的内容,包括:excel怎样用vba自动提取文件夹内的文件名、VBA怎么在文件夹内,提取EXCEL的特定内容、Excel中VBA提取文件夹名称的方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9572389.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存