为什么要使用" Dir"功能不按我的意图工作?

时间:2014-04-01 13:22:55

标签: excel vba dir

我试图将文件夹中所有文件名的名称放在excel上的列表中,这样每个单元格就有一个文件名。

但是,使用下面的代码,它会写入文件夹-1中的文件数。因此,如果文件夹中有4个文件,则只放入其中的三个文件。

这是我第一次使用" Dir",我无法发现我在生活中做错了什么!

以下是代码:

Sub PrintFilesNames()

Dim PathToFolder As String
Dim file As String
Dim cellOutput As String

Dim i As Integer

i = 6

PathToFolder = ThisWorkbook.Sheets("PDP Comparison").Cells(5, 2).Text
file = Dir(PathToFolder)

While (Len(file) > 0)
    file = Dir
    cellOutput = PathToFolder + file
    ThisWorkbook.Sheets("PDP Comparison").Cells(i, 2).Value = cellOutput
    Debug.Print (file)
    i = i + 1
Wend


End Sub

1 个答案:

答案 0 :(得分:1)

在打印之前,它会在第一遍中替换文件。

file = Dir(PathToFolder)

While (Len(file) > 0)    
    cellOutput = PathToFolder + file
    ThisWorkbook.Sheets("PDP Comparison").Cells(i, 2).Value = cellOutput
    Debug.Print (file)
    i = i + 1
    file = Dir
Wend

此处文件(file = Dir)刚刚在循环结束时再次填充。