自动选择文件夹中的所有文件以运行宏

时间:2019-08-06 13:20:44

标签: excel vba

我需要一个宏来自动循环浏览文件夹中的文件并从这些文件中复制某些值。我已经在手动选择的文件上设置了复制部件,但是现在需要自动选择它们。

我已经有了一个宏设置,可以循环浏览用户选择的多个文件。除了现在,我试图自动运行它,并希望宏自动选择指定目录中的任何文件。如何指定此目录?我已经包含了当前的代码以供手动选择。

编辑:我尝试实现以下答案,但收到一条错误消息,指出文件列表不是数组格式。我该如何克服?

FileNames = Application.GetOpenFilename(FileFilter:="Excel Files,*.xl*;*.xm*;*.csv*", MultiSelect:=True)

ii = 1
Do While ii <= UBound(FileName) 
Set wbk = Workbooks.Open(FileName(ii))

'Multiple Loops
Wend

1 个答案:

答案 0 :(得分:0)

也许尝试:

Sub GetAllFileNames()
Dim FolderName As String
Dim FileName As String
FolderName = "C:\Users\sumit\Desktop\Test\" 'change your path
FileName = Dir(FolderName & "*.xls*") 'this one will browse only .xls if you want to browse all file see the note

Do While FileName <> ""
    Debug.Print FileName
    FileName = Dir()
Loop

End Sub

注意FileName = Dir(FolderName)将浏览您文件夹中的所有文件。 如果工作簿与您要浏览的文件位于同一文件夹中,则可以选择如下路径:

FolderName = Application.ActiveWorkbook.Path & "\"