VBA中获取excel文件名(vba获得文件名)

Exce表格网 2022-12-28 15:00 编辑:admin 206阅读

1. vba获得文件名

网上这种VBA代码很多,一搜索大把。

一般思路是:

一. 获取指定目录下的TXT文件名,写入一个数组。

二. 循环打开文件名数组中的文件,子循环读取TXT文件中的每条数据,对每条数据进行拆分,写入工作表,读完一个文件后关闭此文件。

如果文件很多,VBA运行时间过长时会出现无响应(并不是程序死了,还在运行),可以在VBA代码前加上 禁止屏幕刷新,结束时 激活屏幕刷新。在VBA循环代码中加入DOEVENTS事件也可。

2. vba生成文件到指定目录和文件名

使用excel提取文件夹中的所有文件名称的方法主要有以下两个:1、在那个文件夹内新建一个.TXT文件(如wenjian.txt),用记事本单开输入dir> 1.txt保存退出将刚才的.TXT(wenjian.txt)更名为.bat文件(wenjian.bat)双击wenjian.bat文件运行一次,在文件夹内多出一个1.txt文件打开1.txt文件,将其中的内容粘贴到Excel中,数据——分列处理就可以得到你要的文件名列表了!2、VBA(2003版)在那个文件夹下新建Excel文件,打开新建的Excel文件,右击工作表标签(如Sheet1),查看代码——在代码编辑器中输入以下代码Sub Test()Dim i As IntegerDim strPath As StringstrPath = ThisWorkbook.PathWith Application.FileSearch .LookIn = strPath .SearchSubFolders = True .Filename = "*.*" If .Execute > 0 Then For i = 1 To .FoundFiles.Count Range("A" & i) = .FoundFiles(i) Next i End IfEnd WithEnd Sub回到Excel表格中,工具——宏——宏——选择Sheet1.Test——执行方法一简单的操作就可以,方法二需要对程序有一定的了解,方法二通用性比较强,需要的时候执行一下就可以,更快捷。

3. vba 读取文件名

指定文件名不知道是否有规律?建议试试Everything,可以结合正则表达式快速的对文件进行查找,秒查。注意,只能查找文件名。如果要用VBA的话dir可以实现路径查找判断,可以在单元格储存你的文件名称,然后遍历这些单元格。另外Python也是可以的。

4. vba保存文件时指定文件名

我的思路是:利用VBA文件操作打开Excel文件,然后读取你文件模板中特定位置的数据,保存到当前表中,然后可以当前表一行存储一个Excel文件。

比如:

源表中A1、B2、B5、C3是数据内容。

可以依此保存到当前文件中的A1~D1。

然后A2~D2保存另一个同样格式文件的数据。

当然,如果你想完全用二进制保存应该也可以,无非自己做一些文件处理和还原的算法,比如用FileSystem处理。没有太多时间弄,你自己看看MSDN,研究一下吧。

简单写了一点测试代码,供参考:

PrivateSubCommandButton1_Click()

DimfileToOpenAsVariant

DimxlAsVariant

DimDestinationSheetAsWorksheet

DimSourceSheetAsWorksheet

DimCountAsInteger

SetDestinationSheet=ActiveWorkbook.Sheets(1)

fileToOpen=Application.GetOpenFilename("MicrosoftExcelFiles(*.xls),*.xls",,,,True)

Setxl=CreateObject("Excel.Sheet")

xl.Application.Workbooks.OpenfileToOpen,ReadOnly:=True

Count=1

ForEachSourceSheetInApplication.Worksheets

IfSourceSheet.Cells(1,1)<>""Then

SetChildDoc=ActiveWorkbook

MsgBoxSourceSheet.Cells(1,1)

DestinationSheet.Cells(Count,1).Value=SourceSheet.Cells(1,1).Value

Count=Count+1

ChildDoc.CloseSaveChanges:=False

EndIf

Next

EndSub

5. vba获取excel名称

1.打开一个Excel的文件,在表格中输入简单的表格,比如学生成绩表格。

2.接着,鼠标左键单击【开发工具】菜单标签,在VBA控件下拉菜单中,并选择按钮控件,...

3.然后,在表格中绘制出按钮控件,并修改控件名称。

4.接着,鼠标左键单击【查看代码】按钮

5然后,在代码窗口中输入VBA语句,比如输入定义变量语句,并选择字符串类型

6接着,在代码窗口中输入读取单元格的VBA语句

7最后,在设计窗口上,鼠标左键单击按钮,可以看到表格中的,通过VBA程序读取数据,并输出到右边的单元格中,显示出数据了,通过这样的操作,就学会用VBA读取单元格数据了。

6. vba如何获取文件名

返回应用程序完整路径 Application.Path 返回当前工作薄的路径 ThisWorkbook.Path 返回当前默认文件路径: Application.DefaultFilePath Application.ActiveWorkbook.Path 只返回路径 Application.ActiveWorkbook.FullName 返回路径及工作簿文件名 Application.ActiveWorkbook.Name 返回工作簿文件名

7. vba获取当前excel文件名

1.如果是要获得工作簿的文件名可以用以下函数公式 =MID(CELL("filename"),FIND("[",CELL("filename"))+1,FIND("]",CELL("filename"))-FIND("[",CELL("filename"))-1) 2.如果是想获得工作簿中工作表名可以用以下函数公式 =MID(CELL("filename"),FIND("]",CELL("filename"))+1,99) 或者=REPLACE(CELL("filename"),1,FIND("]",CELL("filename")),"") 用vba的方式也可以达到这个目的 1.获取当前工作簿名写在单元格A1中 Sub wbname() Cells(1, 1) = ThisWorkbook.Name End Sub 2.获取当前工作簿所有工作表名,写入A列 Sub wsname() Dim sht As Worksheet, i% For Each sht In Worksheets i = i + 1 Cells(i, 1) = sht.Name Next End Sub

顶一下
(0)
0%
踩一下
(0)
0%
相关评论
我要评论
点击我更换图片