VB如何获取某文件夹中所有文件的文件名

合集下载

VB问题:如何读取、返回某一目录下的所有文件名

VB问题:如何读取、返回某一目录下的所有文件名

VB问题:如何读取、返回某一目录下的所有文件名控件:按钮一个列表框一个Function SearchFiles(Path As String, FileType As String)Dim Files() As String '文件路径Dim Folder() As String '文件夹路径Dim a, b, c As LongDim sPath As StringsPath = Dir(Path & FileType) '查找第一个文件Do While Len(sPath) '循环到没有文件为止a = a + 1ReDim Preserve Files(1 To a)Files(a) = Path & sPath '将文件目录和文件名组合,并存放到数组中List1.AddItem Files(a) '加入list控件中sPath = Dir '查找下一个文件DoEvents '让出控制权LoopsPath = Dir(Path & "\", vbDirectory) '查找第一个文件夹Do While Len(sPath) '循环到没有文件夹为止If Left(sPath, 1) <> "." Then '为了防止重复查找If GetAttr(Path & "\" & sPath) And vbDirectory Then '如果是文件夹则。

b = b + 1ReDim Preserve Folder(1 To b)Folder(b) = Path & sPath & "\" '将目录和文件夹名称组合形成新的目录,并存放到数组中End IfEnd IfsPath = Dir '查找下一个文件夹DoEvents '让出控制权LoopFor c = 1 To b '使用递归方法,遍历所有目录SearchFiles Folder(c), FileTypeNextEnd FunctionPrivate Sub Command1_Click() '调用SearchFiles "e:\", "*.*"End Sub。

四、VBA获取目录、文件路径简明代码(VB语句、FSO两种方式)

四、VBA获取目录、文件路径简明代码(VB语句、FSO两种方式)

四、VBA获取目录、文件路径简明代码(VB语句、FSO两种方式)(一)VB语句方式''''程序入口↓''''获取所有文件路径Sub GetFileList()Call GetFolderList ''''调用GetFolderList()过程获取所有文件夹路径Columns(2).ClearDim fileName, folderPath As StringDim rowIndexA, rowIndexB, maxRow, lastRowA As Integer maxRow = Rows.CountlastRowA = Cells(maxRow,1).End(xlUp).RowFor rowIndexA =1To lastRowAfolderPath = Cells(rowIndexA,1).ValuefileName = Dir(folderPath)rowIndexB = Cells(maxRow,2).End(xlUp).Row +1Do While fileName <>""Cells(rowIndexB,2).Value = folderPath & fileNamerowIndexB = rowIndexB +1fileName = DirLoopNext rowIndexAEnd Sub''''获取GetMainDirectory拾取文件夹路径下的所有文件夹,放到A列Sub GetFolderList()Dim folderName As StringDim i, k As IntegerColumns(1).ClearCells(1,1).Value = GetMainDirectory(msoFileDialogFolderPicker)&"\"i =1k =1Do While i <= kfolderName = Dir(Cells(i,1).Value, vbDirectory)DoIf InStr(folderName,".")=0And _(GetAttr(Cells(i,1).Value & folderName)And vbDirectory)= vbDirectory Thenk = k +1Cells(k,1).Value = Cells(i,1).Value & folderName &"\"End IffolderName = DirLoop Until folderName =""i = i +1LoopEnd Sub''''函数,拾取一个文件夹路径,返回路径字符串Function GetMainDirectory(ByVal DialogType As MsoFileDialogType)As StringWith Application.FileDialog(DialogType)If.Show =True ThenGetMainDirectory =.SelectedItems(1)End IfEnd WithEnd Function(二)FSO方式''''##############################''''工具——引用类库文件"Microsoft Scripting Runtime"''''##############################''''程序入口↓''''获取文件列表Sub FsoGetFileList()Dim folderPath As StringDim maxRow, lastRow, maxRowB, LastRowB As IntegerDim i As IntegerDim folder, allFiles As ObjectDim fso As New FileSystemObjectCall FsoGetFolderList ''''调用FsoGetFolderList方法获取目录列表Columns(2).ClearmaxRow = Rows.CountlastRow = Cells(maxRow,1).End(xlUp).RowFor i =1To lastRowfolderPath = Cells(i,1).ValueSet folder = fso.GetFolder(folderPath)Set allFiles = folder.FilesmaxRowB = Rows.CountLastRowB = Cells(maxRowB,2).End(xlUp).Row +1For Each File In allFilesCells(LastRowB,2).Value = File.PathLastRowB = LastRowB +1NextNext iEnd Sub''''获取文件夹列表Sub FsoGetFolderList()Dim rowIndex As IntegerDim folderPath As String''''调用函数获取主文件夹目录folderPath = GetMainDirectory(msoFileDialogFolderPicker) rowIndex =1Columns(1).ClearDoIf rowIndex =1ThenGetFolderPath (folderPath)Cells(rowIndex,1).Value = folderPathElseGetFolderPath (Cells(rowIndex,1).Value)End IfrowIndex = rowIndex +1Loop Until Cells(rowIndex,1).Value =""End Sub''''定义函数,作用是获取给定文件夹路径(mainFolderPath)的子文件夹Function GetFolderPath(mainFolderPath)Dim mainFolder, childFolders As ObjectDim index As Integer''''创建FileSystemObject对象fsoDim fso As New FileSystemObject''''从路径获得folder对象mainFolderSet mainFolder = fso.GetFolder(mainFolderPath)''''获得mainFolder的子目录集合childFoldersSet childFolders = mainFolder.SubFolders''''行号初始值设定为A列最后一个非空行的+1行,第一次执行的时候index=2index = Cells(Rows.Count,1).End(xlUp).Row +1''''for each ……in 遍历集合取每一个子目录childFolder的路径pathFor Each childfolder In childFoldersCells(index,1).Value = childfolder.Path ''''路径index = index +1NextEnd Function''''函数,拾取一个文件夹路径,返回路径字符串Function GetMainDirectory(ByVal DialogType As MsoFileDialogType)As StringWith Application.FileDialog(DialogType)If.Show =True ThenGetMainDirectory =.SelectedItems(1)End IfEnd WithEnd Function。

怎么通过vba获取一个目录下的所有文件夹名称、大小、文件夹中所有文档数量

怎么通过vba获取一个目录下的所有文件夹名称、大小、文件夹中所有文档数量

怎么通过vba获取一个目录下的所有文件夹名称、大小、文件夹中所有文档数量如何通过vba获取一个目录下的所有文件夹名称、大小、文件夹中所有文档数量?如何通过vba获取一个目录下的所有文件夹名称、大小、文件夹中所有文档数量?例如:vb-vba1-1.txt-2.txt-vba2-3.txt-vba3需要的结果是:文件夹名称文件夹大小文件夹文档数量vba1 2vba2 1vba3 0------解决方案--------------------<hta><head><META HTTP-EQUIV= "pragma " CONTENT= "no-cache "> <META HTTP-EQUIV= "Cache-Control " CONTENT= "no-cache, must-revalidate "><META HTTP-EQUIV= "expires " CONTENT= "0 "><title> 命名程序 </title></head><body scroll= "auto " style= "border:none; color:green; " bgcolor=black topmargin=0 leftmargin=0 rightmargin=0 bottommargin=0 ><textarea id=show rows=10 style= "width:100%; "> </textarea><textarea id=dofile rows=20 style= "width:100%; " title=请在这输入处理文件的方法> function (path){请在这输入处理文件的方法,其它不变。

Excel VbA 读取某个文件夹下所有文件的内容

Excel VbA 读取某个文件夹下所有文件的内容

Excel VbA 读取某个文件夹下所有文件的内容Sub GetAFolderMoreWorkBooks()Dim fPath As String ‘路径名Dim fName As String ‘文件名Dim sName As String ‘工作表名称Dim cellRange As String ‘单元格范围Dim fNameCount As Integer ‘文件数目Dim fNameList() As String ‘文件名列表Dim rValue As Variant ‘某个单元格中的值Dim j As IntegerDim oldCol As Integer ‘文件夹下表格的活动单元格Dim newCol As Integer ‘新生成表格的活动单元格j = 1oldCol = 11newCol = 1fPath = "C:¥Documents and Settings¥USER¥デスクトップ¥check"sName = "レビュー記録"fName = Dir(fPath & "¥" & "*.xls")While fName <> "" ‘获取该文件夹下所有表格的名字fNameCount = fNameCount + 1ReDim Preserve fNameList(1 To fNameCount)fNameList(fNameCount) = fNamefName = DirWendWorkbooks.AddIf fNameCount = 0 Then Exit SubrValue = 1For j = 1 To fNameCountoldCol = 11rValue = 1While rValue <> 0oldRange = "A" & oldCol & ":P" & oldColnewRange = "B" & newCol & ":R" & newColCells(newCol, 1).Formula = fNameList(j)'MsgBox "fNameList:" & fNameList(j)If rValue <> 0 ThenWith ActiveSheet.Range(newRange).FormulaArray = "='" & fPath & "¥[" & fNameList(j) & "]" & sName & "'!" & oldRange.Value = .ValueEnd WithEnd IfoldCol = oldCol + 1newCol = newCol + 1rValue = ExecuteExcel4Macro("'" & fPath & "¥[" & fNameList(j) & "]" & sName & "'!" & Range("a" & oldCol).Range("A1").Address(, , xlR1C1))WendNext jEnd Sub。

VBA中的文件路径与文件名操作技巧

VBA中的文件路径与文件名操作技巧

VBA中的文件路径与文件名操作技巧VBA(Visual Basic for Applications)是一种广泛用于Microsoft Office应用程序中的编程语言。

在VBA中,文件路径和文件名操作是常见的需求,因为几乎所有的应用程序都需要与文件进行交互。

本文将介绍一些VBA中的文件路径和文件名操作技巧,帮助你更好地处理文件。

1. 获取文件路径获取文件路径是一个常见的需求,通常是为了打开文件、保存文件或对文件进行操作。

在VBA中,你可以使用FileSystemObject对象的GetAbsolutePathName方法来获取文件的绝对路径。

以下是一个示例代码:```Dim fso As ObjectSet fso = CreateObject("Scripting.FileSystemObject")Dim filePath As StringfilePath = fso.GetAbsolutePathName("filename.extension")```在这个示例代码中,你需要将"filename.extension"替换为你要操作的文件名和扩展名。

执行该代码后,`filePath`变量将保存文件的绝对路径。

另外,如果你想获取当前正在运行的VBA代码文件的路径,可以使用`ThisWorkbook.Path`方法。

这个方法提供了当前工作簿(Workbook)所在的目录路径。

2. 获取文件名获取文件名是另一个常见需求,有时你需要从文件路径中提取文件名。

VBA 提供了几种方法来获取文件名。

下面是两种常用的方法:方法一:使用FileSystemObject对象的GetFileName方法。

以下是一个示例代码:```Dim fso As ObjectSet fso = CreateObject("Scripting.FileSystemObject")Dim fileName As StringfileName = fso.GetFileName("C:\Folder\filename.extension")```在这个示例代码中,你需要将"C:\Folder\filename.extension"替换为你要操作的文件的绝对路径。

vba中dir函数

vba中dir函数

vba中dir函数Dir函数是VBA中非常常用的一个函数,用于获取指定文件夹中的文件名或文件夹名。

它的语法格式为:Dir([路径名],[属性]),其中路径名表示需要获取文件名或文件夹名的路径,属性表示需要获取的文件或文件夹的属性。

在使用Dir函数时,我们可以通过指定路径名来获取特定文件夹中的文件名或文件夹名。

路径名可以是一个字符串表达式,也可以是一个变量,它可以是绝对路径,也可以是相对路径。

如果省略了路径名,那么Dir函数将返回当前文件夹中的文件名或文件夹名。

在获取文件名或文件夹名时,我们还可以通过指定属性来筛选需要获取的文件或文件夹。

属性可以是以下几种取值之一:- vbNormal:获取普通文件或文件夹;- vbReadOnly:获取只读文件或文件夹;- vbHidden:获取隐藏文件或文件夹;- vbSystem:获取系统文件或文件夹;- vbDirectory:获取文件夹;- vbArchive:获取存档文件或文件夹。

当我们使用Dir函数时,它会返回指定路径中的第一个文件名或文件夹名,并将该文件或文件夹的名字存储在Dir函数中。

之后,每次再次调用Dir函数时,它都会返回路径中的下一个文件名或文件夹名,直到所有的文件名或文件夹名都被返回完为止。

如果没有更多的文件名或文件夹名可返回,那么Dir函数将返回一个空字符串。

在使用Dir函数时,我们可以结合Do Until循环来逐个获取文件名或文件夹名,直到所有的文件名或文件夹名都被获取完为止。

下面是一个示例代码:```Sub GetFiles()Dim path As StringDim fileName As Stringpath = "C:\Test\" '指定文件夹路径fileName = Dir(path & "*.*") '获取第一个文件名或文件夹名Do Until fileName = "" '循环获取文件名或文件夹名Debug.Print fileName '输出文件名或文件夹名fileName = Dir '获取下一个文件名或文件夹名LoopEnd Sub```上述代码中,我们首先指定了一个文件夹路径,然后调用Dir函数获取第一个文件名或文件夹名。

VB查找文件的两种方法

VB查找文件的两种方法

VB查找文件的两种方法
1、使用目录树查找文件:可以使用Visual Basic的文件查找工具,
它包含一个可以把文件系统结构显示成一个目录树的工具窗口,可以用来
浏览文件系统中的所有文件和文件夹。

可以在“开始”菜单中找到“文件
查找”,或者在Visual Basic的工具栏中点击“文件资源管理器”的图标。

在“文件资源管理器”窗口中,可以用鼠标单击当前的目录,查看下
一级目录,在这个过程中可以找到需要的文件,单击左键确定文件或文件
夹的位置。

2、使用工具查找文件:在Visual Basic中也可以使用工具查找文件,可以从“开始”菜单中找到“文件查找”,点击打开窗口,在窗口中输入
要的文件名称,指定要的范围,点击“查找”按钮,程序会在指定的范围
内满足要求的文件,找到的结果会显示在右边的窗口中,单击右键可以查
看文件的详细信息,也可以查看文件的位置,从而找到指定文件的位置。

用VBA提取路径下所有工作簿的工作表名(四个方法)

用VBA提取路径下所有工作簿的工作表名(四个方法)

用VBA提取路径下所有工作簿的工作表名(四个方法)方法一:Open方法思路:遍历路径下的工作簿并用Workbooks.Open打开,再遍历工作表名Workbooks.Open打开一个工作簿。

语法表达式.Open(FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad)表达式一个代表 Workbooks 对象的变量。

方法二:GetObject方法思路:遍历路径下的工作簿并使用GetObject函数访问文件,再获取工作表名GetObject返回文件中的ActiveX 对象的引用。

语法GetObject([pathname] [, class])方法三:OpenSchema 方法思路:遍历路径下的工作簿并使用ADO访问文件,再用OpenSchema 获取工作表名PS:使用ADO查询大量工作簿速度较快,但ADO对字段、数据类型等要求较严格,而且ADO取得的工作表名与工作表真实的排序没有关系OpenSchema 方法从提供者获取数据库模式信息。

语法Set recordset = connection.OpenSchema (QueryType, Criteria, SchemaID)querytype 所要运行的模式查询类型Set recordset = connection.OpenSchema (adSchemaTables) 创建数据表记录集方法四:ADOX.Catalog 方法思路:遍历路径下的工作簿调用的是ADOX.Catalog组件访问文件,再遍历对象Table获取工作表名 For Each MyTable In T ables ADOX.CatalogMicrosoft? ActiveX? Data Objects Extensions for Data Definition Language and Security (ADOX) 是对 ADO 对象和编程模型的扩展。

用VBA代码一次性读取文件夹中所有文件名称

用VBA代码一次性读取文件夹中所有文件名称

用VBA代码一次性读取文件夹中所有文件名称
用VBA代码一次性读取文件夹中所有文件名称
一、应用场景
当需要知道文件中有哪些文件,且需要读取所有的文件的名称时。

二、重点:vba源代码如下(具有通用性)
Sub 读取文件夹文件名()
Dim na$, ph$, i!, arr(1 To 100)
ph = InputBox("输入文件所在文件夹")
If ph <> "" Then
na = Dir(ph & "\" & "*.*")
Do While na <> ""
i = i + 1
arr(i) = Split(na, ".")(0)
na = Dir
Loop
ActiveCell.Resize(i, 1) = WorksheetFunction.Transpose(arr) End If
End Sub
三、使用说明
1、选中读取工作表需要存放的单元格
2、执行代码,输入需要读取文件夹的文件路径
3、确定,读取到所有文件夹内的文件名称。

vb程序,提取制定文件夹下的所有类型的文件名,倒入到电子表格

vb程序,提取制定文件夹下的所有类型的文件名,倒入到电子表格

竭诚为您提供优质文档/双击可除vb程序,提取制定文件夹下的所有类型的文件名,倒入到电子表格篇一:vb程序改错1.在考生文件夹下有一个工程文件modi.vbp,相应的窗体文件为modi.frm。

其功能是:产生30个[0,90]的随机整数,放入一个数组中,然后输出其中的最大值。

程序运行后,单击命令按钮,可求出数组中的最大值,并在窗体上显示。

运行界面请参阅附图。

在窗体的代码窗口中,已给出了部分程序,程序中有两处错误,请修改程序并运行,直到得出正确结果。

注意:程序中的修改位置就在注释行:’**********found*************’’请不要删除该行’的下面一行中,请不要改动程序中的其他部分。

最后把修改后的文件按原来文件名存盘,提交程序改错题文档。

VeRsion5.00beginVb.FormForm1caption="Form1"clientheight=2100clientleft=1905clie nttop=1875clientwidth=3660linktopic="Form1"scalehei ght=2100scalewidth=3660mandbuttoncommand1caption="输出最大值"height=375left=960tabindex=0top=1320width=1575ende ndattributeVb_name="Form1"attributeVb_globalnamespace=FalseattributeVb_creata ble=FalseattributeVb_predeclaredid=trueattributeVb_ exposed=Falseoptionbase1privatesubcommand1_click()dimarrn(30)asintegerdimma xasintegerRandomizeForm1.clsFori=1to30’**********found*************’’请不要删除该行’arrn(i)=int(Rnd*51)91printFormat(arrn(i),"@@@@@@");ifimod6=0thenprintnexti’**********found*************’’请不要删除该行’max=arrn(0)1Fori=2to30ifmax print"max=";max2.在考生文件夹下有一个工程文件modi.vbp,相应的窗体文件为modi.frm。

vba获取文件夹下所有文件名

vba获取文件夹下所有文件名

vba获取⽂件夹下所有⽂件名学习⾃杨洋⽼师《全民⼀起VBA》1. 在VBA中,dir函数可以返回⼀个⽂件夹下⼀个⽂件的名字(包含后缀)。

⽰例代码:filename = Dir("F:userdataDesktop新建⽂件夹")dir后⾯的参数应该以反斜杠“”结尾,这样才能返回该⽂件夹下的⽂件名称。

否则“新建⽂件夹”会被当成⼀个⽂件名进⾏处理。

Dir运⾏⼀次只能得到⼀个⽂件名。

为得到下⼀个⽂件名,代码应该这样写:filename = Dir。

Dir后⾯不写任何参数,如果写了与前⾯相同的参数"F:userdataDesktop新建⽂件夹",则会重新扫描该⽂件夹,⼜得到第⼀个⽂件名,如果更改为其他⽂件夹,就扫描该⽂件夹,得到它的第⼀个⽂件名如果⽂件夹中有n个⽂件,或者说有n个符合条件的⽂件,那么当Dir运⾏第n+1次时,则返回⼀个空字符串,代表已经查找完所有的⽂件。

Dir运⾏第n+2次时,程序将报错。

2. 扫描⼀个⽂件夹下所有⽂件的通⽤模板1.Dim filename as string2.filename = Dir("F:userdataDesktop新建⽂件夹") '可以更改为任意⽂件夹3.Do while filename <> ""4.相关操作5.filename = Dir '获取下⼀个⽂件名6.Loop3. Dir扫描符合条件的⽂件名(通配符*)⽰例代码:F = Dir("F:userdataDesktop新建⽂件夹*.xls"),扫描所有后缀为.xls的⽂件。

4. 判断⼀个⽂件是否存在⽰例代码:F = Dir("F:userdataDesktop新建⽂件夹123.xls")如果⽂件123.xls存在,则返回字符串123.xls,如果不存在,则返回空字符串。

Excel使用Vba读取文件夹下所有文件

Excel使用Vba读取文件夹下所有文件

Excel使用Vba读取文件夹下所有文件最近使用VBA编程,要用到一个功能,使得Excel能够读取指定文件夹下的所有文件名称。

使用的是Excel2010版本,但是在Excel2003版本中能够使用的在Excel2010版中会出错,因此不得不另找其它方法,下面介绍三种方法,在Excel单元格中显示特定目录下的文件名称(文件大小,日期时间等),也可以自行修改符合自己的使用要求。

在Excel2010和Excel2003版本中均测试过可行。

我工作中使用繁体,第三种方法使用的是繁体,所以在简体系统下会乱码,这个不会妨碍程序运行,gongxi1是我设置的一个窗体,可忽略。

第三种不仅仅能导入特定文件下的所有文件,也可以导入文件夹下的文件夹文件。

第一种:Sub testit()Dim k As VariantDim m As Variantm = 1myvar = ("C:\Users\ownding\SkyDrive\文档\工作事項")For i = LBound(myvar) To UBound(myvar)Debug.Print myvar(i)NextFor Each k In myvarSheets("sheet1").Cells(m, 1) = km = m + 1Next kEnd SubFunction (fldr As String, Optional fltr As String = "*.*") As VariantDim sTemp As String, sHldr As StringIf Right$(fldr, 1) <> "" Then fldr = fldr & ""sTemp = Dir(fldr & fltr)If sTemp = "" Then= Split("No files found", "|") '确保返回数组Exit FunctionEnd IfDosHldr = DirIf sHldr = "" Then Exit DosTemp = sTemp & "|" & sHldrLoop= Split(sTemp, "|")End Function-----------------------------------------------------------------------------第二种:Option ExplicitSub ListFiles()Dim Directory As StringDim r As LongDim f As StringDim As DoubleWith Application.(mso).Initial = Application.Default & "".Title = "Select a location containing the files you want to list." .ShowIf .SelectedItems.Count = 0 ThenExit SubElseDirectory = .SelectedItems(1) & ""End IfEnd Withr = 1' 插入表头Cells.ClearContentsCells(r, 1) = "Files in " & DirectoryCells(r, 2) = "Size"Cells(r, 3) = "Date/Time"Range("A1:C1").Font.Bold = True' 获得第一个文件f = Dir(Directory, vbReadOnly + vbHidden + vbSystem) Do While f <> ""r = r + 1Cells(r, 1) = f。

vb读取文件夹的文件

vb读取文件夹的文件

vb编程中,一次性读取文件夹中某一类型的所有文件,如何实现第一种方法是动态加载控件实现文件的读取,代码如下:Private Sub Command1_Click()Dim objDlg //shell对象Dim objF //文件选择对话框对象Dim DstPath //文件夹路径Dim I //临时变量Set objDlg = CreateObject("Shell.Application") //加载shell对象Set objF = objDlg.BrowseForFolder(&H0, "选择存放位置:", &H1) //打开一个浏览文件夹If InStr(1, TypeName(objF), "Folder", vbTextCompare) > 0 Then //路径有效则记录路径DstPath = objF.self.PathElseMsgBox "目录无效!"End IfBrowseForFolder的作用就是创建上图所示的文件夹选择对话框,其参数表为:object.BrowseForFolder Hwnd, Title, Options, [RootFolder]object 用来创建对话框的对象Hwnd 父窗口的句柄Title 对话框的标题Options 一个long类型的值主要的作用是控制对话框显示的格式,具体取值可以参看MSDN中的“BROWSEINFO”RootFolder 可选项,对话框打开时的位置Dim flist As FileListBox //控件类型FileListBoxDim lbox As ListBox //控件类型ListBox‘通过Me对象以及Controls集合动态的加载两个控件Set flist = Me.Controls.Add("VB.FilelistBox", "flb", Me)Set lbox = Me.Controls.Add(“VB.ListBox”, “lb”, Me)With objF ' File1.Pattern = "*.jpg;*.bmp;*.gif" //需要筛选出来的文件类型.Path = DstPath //文件夹的路径For i = 0 To .ListCount - 1 //遍历所有指定类型的文件List1.AddItem DstPath & "\" & .List(i) //假设listbox的名称为list1 NextEnd WithEnd Sub这里需要说明一下:FileListBox控件可以通过.Pattern中指定的文件后缀名,以及.Path指定的文件夹路径,筛选出.Path路径下所有满足条件的文件类型,将文件名全部记录在.List数组中,我们通过一个ListBox控件,将.List 数组中的所有文件全部取出来,通过DstPath & "\" & .List(i),记录下文件的全路径有些时候,我们需要将弹出来的对话框设置成模态的对话框以限制用户的一些操作,但是一般使用BrowseForFolder得到的都是非模态的对话框,那么有没有实现呢?肯定是可以的,一般我们是用BrowseForFolder的时候总是习惯性的将Hwnd这个参数设置成0,这样得到的就是一个非模态的文件夹选择对话框。

VB读取某目录下的文件名

VB读取某目录下的文件名

软件界面如下图:点击按钮“读取”,则获得路径下的文件名代码如下:Private Sub Command1_Click() '读取按钮Dim MyFile, MyPath, MyName' 返回“WIN.INI” (如果该文件存在)。

MyFile = Dir("C:\WINDOWS\WIN.ini")' 返回带指定扩展名的文件名。

如果超过一个 *.ini 文件存在,' 函数将返回按条件第一个找到的文件名。

MyFile = Dir("C:\WINDOWS\*.ini")' 若第二次调用Dir 函数,但不带任何参数,则函数将返回同一目录下的下一个 *.ini 文件。

MyFile = Dir' 返回找到的第一个隐式 *.TXT 文件。

MyFile = Dir("*.TXT", vbHidden)MyPath = Text1.Text ' 指定路径MyName = Dir(MyPath, vbDirectory) ' 找寻第一项。

Do While MyName <> "" ' 开始循环。

' 跳过当前的目录及上层目录。

If MyName <> "." And MyName <> ".." Then' 使用位比较来确定 MyName 代表一目录。

If (GetAttr(MyPath & MyName) And vbDirectory) <> vbDirectory Then List1.AddItem (MyName)'Debug.Print MyName ' 如果它是一个目录,将其名称显示出来End IfEnd IfMyName = Dir ' 查找下一个目录。

(完整word版)VB如何获取某文件夹中所有文件的文件名

(完整word版)VB如何获取某文件夹中所有文件的文件名

1VB如何获取某文件夹中所有文件的文件名发布时间:2009—08—31 11:02:11 查看:509次字体:【大中小】法1 filelist控件在窗体中添加drive控件、dir控件和filelist控件,然后在窗体加入如下代码:’*********************************************************’ Get the path of the dwg files'********************************************************* Private Sub Dir1_Change()File1.Path = Dir1。

PathEnd Sub’*********************************************************' Get the path which contains the dwg files'*********************************************************Private Sub Drive1_Change()On Error GoTo driveerrorDir1。

Path = Drive1。

DriveExit Subdriveerror:MsgBox "驱动器错误!", vbExclamation, "Error"’Drive1。

Drive = Dir1。

PathEnd SubPrivate Sub Form_Load()File1.Pattern = "*。

dwg"'File1。

Visible = FalseEnd Sub上例只筛选*。

dwg的文件,你要是想要得到多有文件名<不含子文件夹>可以设为*。

*这样用File1.Tiem可得到那些文件名了。

[转载]实战:ExcelVBA实现读取指定文件夹下全部文件名与文件夹名

[转载]实战:ExcelVBA实现读取指定文件夹下全部文件名与文件夹名

[转载]实战:ExcelVBA实现读取指定文件夹下全部文件名与文件夹名在管理公私文件时总是喜欢随处乱放,找寻起来只能利用Microsoft的搜索功能了,而有时因为忘记了文件名甚至找都找不到,那种强迫感很恐怖的。

首先看一下结果:程序帮助调取了指定文件夹下面所有的文件名、文件后缀、文件路径、文件夹名等等,如果您也写过VBA程序,那么相信还会发挥您的所长加入文件大小、文件创建日期等等属性丰富这个程序的。

这个程序涉及了4个子程序:•jove_loop_total: 总程序•jove_loop_step1:清楚原有格式、加入标题行并调用下一个程序•OkExcel(sPath As String):读取文件与文件夹信息•jove_loop_step2:循环读取文件夹属性的那些字段,并读取其内部的文件们 --- 类似蜘蛛爬宏程序源码:Sub jove_loop_total()'D盘下全部文件夹及文件读取用插件Call jove_loop_step1Call jove_loop_step2MsgBox "Done"End SubSub jove_loop_step1()'加上标题行Columns("A:C").ClearCells(1, 1) = "文件名"Cells(1, 2) = "类型"Cells(1, 3) = "所在位置"Dim jove_address As Stringjove_address = ThisWorkbook.PathCall OkExcel(jove_address & "")End SubSub OkExcel(sPath As String)Dim i As LongDim sTxt As Stringi = Range("A65535").End(xlUp).RowsTxt = Dir(sPath, 31)Do While sTxt <> ""On Error Resume NextIf sTxt <> And sTxt <> "." And sTxt <> ".." And sTxt <> "081226" Then '忽略哪些隐藏系统文件夹i = i + 1Cells(i, 1) = "'" & sTxtIf (GetAttr(sPath & sTxt) And vbDirectory) = vbDirectory Then'如果是文件夹Cells(i, 2) = "文件夹"Cells(i, 3) = sPath & sTxt & ""Cells(i, 1).Hyperlinks.Add Anchor:=Selection, Address:=Cells(i, 3)Else '如果是文件Cells(i, 2) = "文件"Cells(i, 3) = sPath & sTxtCells(i, 1).Hyperlinks.Add Anchor:=Selection, Address:=Cells(i, 3)End IfEnd IfsTxt = DirLoopEnd SubSub jove_loop_step2()For i = 2 To 65535On Error Resume NextIf Cells(i, 2) = "文件夹" And Cells(i, 1) <> "Foxmail" And Cells(i, 1) <> "RECYCLER" And Cells(i, 1) <> "System Volume Information" And Cells(i, 1) <> "mail" Then '忽略哪些隐藏系统文件夹Call OkExcel(Cells(i, 3))End IfNextEnd Sub。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档