vba提取文件名到excel

vba提取文件名到excel,第1张

文章介绍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列了。

按Alt+F11,打开VBA编辑器,插入一个模块,把下面的代码贴进去,按F5执行

Sub t()

Dim s As FileSearch '定义一个文件搜索对象

Set s = ApplicationFileSearch

sLookIn = "c:\" '注意路径,换成你实际的路径

sFilename = "" '搜索所有文件

sExecute '执行搜索

CellsDelete '表格清空

For i = 1 To sFoundFilesCount

Cells(i, 1) = sFoundFiles(i) '每一行第一列填写一个文件名

Next

End Sub

1、首先打开Excel数据表,在开发工具中打开VBA编辑器。

2、在单元格区域当中输入一些内容。

3、在VBA编辑器中插入模块。

4、Sub获取文件路径()Dim filess, tempfiless=ApplicationGetOpenFilename(, , "打开文件")If filess=False Then MsgBox "你未选择文件,程序即将退出!": Exit Subtemp=Split(filess, "\")。

5、MsgBox "你选择的《" & temp(UBound(temp)) & "》的路径为:" & Chr(10) & filess _

& Chr(10) & "当前表路径为:" & Chr(10) & ThisWorkbookFullName, vbokonty+64,"返回路径"End Sub。在模块当中输入代码,然后运行。

6、然后单击“执行”按钮,程序d出“选择文件”对话框。选择一个文件后,程序立即d出所选文件的路径,然后d出当前工作簿的路径。

Dim C_Address, D_Address

If [e15]End(xlUp)Row > 1 Then

For i = 2 To [e15]End(xlUp)Row

Set c = [G1:U1]Find(Range("E" & i), , , xlWhole)

If Not c Is Nothing Then

C_Address = cAddress

temp = ""

Do

temp = temp & Split(cAddress, "$")(1) & ","

Set c = [G1:U1]FindNext(c)

Loop While Not c Is Nothing And cAddress <> C_Address

End If

If temp <> "" Then

arr = Split(Left(temp, Len(temp) - 1), ",")

For j = 0 To UBound(arr)

Set D = Range(arr(j) & "2:" & arr(j) & "15")Find(Range("d" & i), , , xlWhole)

If Not D Is Nothing Then

D_Address = DAddress

Do

Range("B" & DRow) = Range("B" & DRow) + 1

Set D = Range(arr(j) & "2:" & arr(j) & "15")FindNext(D)

Loop While Not D Is Nothing And DAddress <> D_Address

End If

Next

End If

Next

End If

1、首先我们打开一个工作样表作为例子。

2、使用alt+f11组合快捷键进入vbe编辑器,插入一个新的模块,并在模块中输入以下代码:

Option Explicit

Sub ddt()

ActiveWorkbookName '返回活动工作薄的名称

ThisWorkbookName '返回当前工作簿名称

ThisWorkbookFullName '返回当前工作簿路径和名称

End Sub

3、这里返回活动的工作薄名称我们是使用的活动工作薄的name属性,设置一个变量赋予它这样一个值,我们运行一下宏代码。

4、ActiveWorkbookName 是一个值,但是不能单独存在,它可以作为参数,也可以作为变量值,但是不能单独存在。

5、活动工作薄和当前工作薄如果返回值是一样的,是因为当前工作薄和活动工作薄的取值对象一致,活动工作薄是指的激活窗口工作薄,而当前工作薄是指的代码所在工作薄。

6、如果是在name前加上full,则是显示激活工作薄的完整路径,包括名称和在硬盘上的文件位置,如果存在多个不同文件夹中同名文件,使用这个命令可以更准确的确定文件。

Sub 列出活动工作簿中每个工作表的名称()

    For i = 1 To SheetsCount

    Sheets(1)Cells(i, 1)Value = Sheets(i)Name

    Next i

End Sub

以上就是关于vba提取文件名到excel全部的内容,包括:vba提取文件名到excel、EXCEL怎样用VBA自动提取文件夹内的文件名、VBA如何获取当前EXCEL文件的路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9346935.html

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

发表评论

登录后才能评论

评论列表(0条)

保存