文章介绍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 ExplicitSub 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文件的路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)