我试图将文件夹中所有文件名的名称放在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
答案 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
)刚刚在循环结束时再次填充。