❶ 如何获取VBA的文件名及其所在目录的路径
ThisWorkbook.FullName——返回VBA代码所在工作簿文件带路径的文件名
❷ 用EXCEL VBA获取指定目录下的文件名(包括文件夹名)
1、首先利用快捷键“Windows键+R”打开“运行”窗口
❸ Excel中VBA提取文件夹名称的方法
文章介绍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 LoopEnd Sub 4.关闭VBE窗口,回到工作表中,可以在C列看到F盘“office教程网”文件夹下面所有的文件名全部罗列在C列了。 关于上面的vba提取文件名的代码,请在实际使用时,根据需要修改提取文件名的路径(F:\office教程网\*.*),以及存放在C列的位置(Cells(i, 3))。
❹ VBA一次性提取文件名的方法
没理解你这里为什么用“一次性”这个词?
问题应该是:“获取指定文件夹的所有文件”。
DimMyPathAsStringDimMyFilesNameAsStringDimnAsLongMyPath="C:ABC"MyFilesName=""n=0IfRight$(MyPath,1)<>""ThenMyPath=MyPath&""MyResult=Dir(MyPath)DoWhileLen(MyResult)>0'DoEventsMyFilesName=MyFilesName&MyResult&vbCrLfn=n+1MyResult=DirLoopMsgBox"有文件:"&n&"个"&vbCrLf&vbCrLf&MyFilesName
❺ 怎样vba中打开文件并获取文件名
Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _ "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long Type OPENFILENAME lStructSize As Long hwndOwner As Long hInstance As Long lpstrFilter As String lpstrCustomF…
❻ vba 遍历指定文件夹(含子目录)获取文件名,哪种方法速度最快
Sub LoopAllExcelFilesInFolder()Dim wb As WorkbookDim myPath As StringDim myFile As StringDim myExtension As StringDim FldrPicker As FileDialog'这里很关键,决定宏执行快慢的关键Application.ScreenUpdating = FalseApplication.EnableEvents = FalseApplication.Calculation = xlCalculationManual'打开目录选择框Set FldrPicker = Application.FileDialog(msoFileDialogFolderPicker)With FldrPicker.Title = "请选择目录".AllowMultiSelect = FalseIf .Show <> -1 Then GoTo NextCodemyPath = .SelectedItems(1) & "\"End With'取消选择NextCode:myPath = myPathIf myPath = "" Then GoTo ResetSettings'指定过滤的文件后缀myExtension = "*.xls*"'遍历全路径myFile = Dir(myPath & myExtension)'循环处理每一个文件Do While myFile <> ""'打开Set wb = Workbooks.Open(Filename:=myPath & myFile)'确保工作簿被打开,在处理下一个文件时DoEvents'设置背景色wb.Worksheets(1).Range("A1:Z1").Interior.Color = RGB(51, 98, 174)'保存工作簿wb.Close SaveChanges:=True'确保工作簿被关闭,在处理下一个文件时DoEvents'接着处理下一个myFile = DirLoop'提示处理完成MsgBox "处理完成!"ResetSettings:'恢复设置Application.EnableEvents = TrueApplication.Calculation = xlCalculationAutomaticApplication.ScreenUpdating = TrueEnd Sub
❼ vba读取文件夹中的文件名
提取当前文件夹下的文件名称并放在A列Sub 按钮1_Click()Application.ScreenUpdating = FalseSet fso = CreateObject("scripting.filesystemobject")Set ff = fso.getfolder(ThisWorkbook.Path) 'ThisWorkbook.Path是当前代码文件所在路径,路径名可以根据需求修改ActiveSheet.UsedRange.ClearContentsa = 1For Each f In ff.FilesRem 如果不需要提取本代码文件名,可以增加if语句 if f.name<> thisworkbook.name then…..Rem 如果值需要提取某类文件,需要对f.name的扩展名进行判断Rem 个人感觉split取 扩展名:split(f.name,".")(ubound(split(f.name,"."))),然后再判断,避免文件名还有其他“.”Cells(a, 1) = f.Name '相对路径名Cells(a, 2) = f '全路径名a = a + 1Next fApplication.ScreenUpdating = TrueEnd Sub
❽ EXCEL VBA 获取打开的word文件名
Cells(aa, 1).Value =oFile就好啦,,还要怎么写??Cells(aa, 1).Value =oDoc.name
❾ excel vba如何获取所有打开的excel文件名
针对ThisWorkbook对象的BeforeClose事件添加如下代码
PrivateSubWorkbook_BeforeClose(CancelAsBoolean)DimfileStrAsStringfileStr="$111.xls$333.xls$“‘头尾都用$分隔,循环判断文件名ForI=Workbooks.countTo1Step-1IfInStr(fileStr,Workbooks(I).Name)<>0ThenWorkbooks(I).CloseFalse‘False是不保存关闭true是保存并关闭EndIfNextEndSub
关闭时就会遍历所有打开的excel文件,执行不保存操作,并关闭
❿ VBA 中如何用GetOpenFilename获取到文件名
代码改一下
PrivateSubCommandButton1_Click()DimstrfileAsStringstrfile=Application.GetOpenFilename("所有文件(*.*),*.*")Ifstrfile="False"Then'strfile定义的是String类型,无法与boolean类型的False比较MsgBox("未选择任何文档")ExitSubElse'Ifstrfile<>FalseThenMsgBox(strfile)EndIfEndSub
未经允许不得转载:山九号 » vba获取文件名|vba 遍历指定文件夹(含子目录)获取文件名哪种方法速度最快