在這個解決方案,我用的FileDialog用於選擇多個文件。 之後,你需要循環所有thoes文件一個循環。 在For循環中,您必須打開文件並導入工作表。在本例中,我導入了工作簿所有的表格。 代碼完成導入後關閉源工作簿並對其餘文件執行相同操作。
Sub Import Files()
Dim sheet As Worksheet
Dim total As Integer
Dim intChoice As Integer
Dim strPath As String
Dim i As Integer
Dim wbNew As Workbook
Dim wbSource As Workbook
Set wbNew = Workbooks.Add
'allow the user to select multiple files
Application.FileDialog(msoFileDialogOpen).AllowMultiSelect = True
'make the file dialog visible to the user
intChoice = Application.FileDialog(msoFileDialogOpen).Show
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'determine what choice the user made
If intChoice <> 0 Then
'get the file path selected by the user
For i = 1 To Application.FileDialog(msoFileDialogOpen).SelectedItems.Count
strPath = Application.FileDialog(msoFileDialogOpen).SelectedItems(i)
Set wbSource = Workbooks.Open(strPath)
For Each sheet In wbSource.Worksheets
total = wbNew.Worksheets.Count
wbSource.Worksheets(sheet.Name).Copy _
after:=wbNew.Worksheets(total)
Next sheet
wbSource.Close
Next i
End If
End Sub
如果你想獲得所有文件,您可以更改ApplicationFile對話與循環目錄是你循環目錄是這樣的:
directory = "c:\test\"
fileName = Dir(directory & "*.xl??")
Do While fileName <> ""
'Put Code From For Loop here.
Loop
什麼類型的文件有那些? – Moosli
你可以遍歷一個文件夾中的所有Excel文件並做你想做的事,這會工作嗎? – Lowpar
這些文件是dat文件,是的,我想能夠以某種方式循環 –