在Do While循环(VBA)中使用Dir函数是用于在指定文件夹中搜索文件的一种方法。Dir函数返回指定文件夹中的第一个文件名,并在每次调用后返回下一个文件名,直到没有更多文件为止。 Dir函数可...
(2)Dir函数只能返回第一层的子文件夹和文件名,子文件夹下的文件和文件夹不返回。 2.4 获取指定路径文件夹内的所有文件名称 代码语言:javascript 代码运行次数:0 运行 AI代码解释 Sub GetAllFileNames() Dim FileName As String FileName = Dir("C:\a\", vbNormal) Do While FileName <> "" Debug.Print...
Sub 获取D盘的所有文件名称() Dim fn As String fn = Dir("D:\*.*") Do While fn <> "" Debug.Print fn fn = Dir LoopEnd Sub 案例2:获取D盘下所有xls、xlsm等类型的文件名称 Sub 获取D盘的Excel文件名称() Dim fn As String fn = Dir("D:\*.xls?") Do While...
文件数不确定,用do while。 Subdir使用1() MyPath= ThisWorkbook.Path &"\"File=Dir(MyPath &"*.xlsx*") Debug.Print FileFori =1To3File=DirDebug.Print FileNextEnd SubSubdir2() MyPath= ThisWorkbook.Path &"\"File=Dir(MyPath &"*.xlsx*")DoWhileFile <>""Debug.Print File File=DirLoopEnd ...
Dir[(pathname[,attributes])] 构建测试环境如下: 一、测试在dir函数中使用通配符来查找多个文件,在VBE中输入代码如下: Sub ListFiles() Dim strPath As String, strTmp As String strPath = "c:\test\" strTmp = Dir(strPath & "*.txt") Do While strTmp <> "" ...
这里通过3个小案例,抛砖引玉,介绍Dir函数的基本用法。 案例1:获取D盘下所有文件名称 Sub 获取D盘的所有文件名称() Dim fn As String fn = Dir("D:\*.*") Do While fn <> "" Debug.Print fn fn = Dir Loop End Sub 案例2:获取D盘下所有xls、xlsm等类型的文件名称 Sub 获取D盘的Excel文件名称() ...
Do While ss <> "" XXXX loop 或者 Do XXX loop ss <> "" 由于dir函数的特点,代码可能会将最后一次ss=""得结果执行,导致excel无法打开文件目录为空的excel文件,从而导致程序报错。为了解决这个问题,代码再次对ss进行判断,双重判断确保不会处理空文件,如果ss="",弹出ss为空。不为空值,继续执行复制代码。
myfileName = Dir(directory & "*.xl??") '使用Dir函数来查找存储在此目录中的第一个文件*.xl??,变量fileName现在保存在目录中找到的第一个Excel文件的名称 Do While myfileName <> ""i = i + 1 j = 2 Cells(i, 1) = myfileName '提取文件名 Workbooks.Open (directory & myfileName) '从...
### 示例 2: 获取特定类型的文件 ```vba Sub ListExcelFiles() Dim fileName As String fileName = Dir(ThisWorkbook.Path & "\*.xlsx") Do While fileName <> "" Debug.Print fileName fileName = Dir Loop End Sub ``` 这个示例只列出 `.xlsx` 扩展名的 Excel 文件。 ### 示例 3: 过滤出目...
Case ElseIf GetAttr(folder & anyfsubfolder) And vbDirectory Then'MsgBox folder & anyfsubfolderCall test002(folder & anyfsubfolder)End IfEnd Select'加上以下代码, 还原Dir函数运行环境subfoldervisited = Dir(folder, vbDirectory)Do While subfoldervisited <> anyfsubfoldersubfoldervisited = DirLoop'...