我很乐意使用VBA将Excel工作表导入访问,并循环访问给定的文件夹以将其中的所有内容都带回来。但是,我想遍历一个文件夹,只导入一些文件。有人可以帮忙吗?每个文件都称为REPORT1
等,并运行到REPORT67
。我只想选择1-47
。
下面的代码工作正常,但这只是从指定位置复制所有内容。
Sub Sample2()
Const cstrFolder As String = "F:\TCB_HR_KPI\Data View\"
Dim strFile As String
Dim i As Long
strFile = Dir(cstrFolder & "*.xls")
If Len(strFile) = 0 Then
MsgBox "No Files Found"
Else
Do While Len(strFile) > 0
Debug.Print cstrFolder & strFile
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, _
strFile, cstrFolder & strFile, True
i = i + 1
strFile = Dir()
Loop
MsgBox i & " Files are imported"
End If
End Sub
答案 0 :(得分:0)
我愿意: DIR $() DoWhile Val(Mid(文件名,7,2))< 48 导入文件 DIR $() 环
答案 1 :(得分:0)
我刚刚将您的代码“ Do While Len(strFile)> 0”替换为“ Do While Int(Mid(strFile,7))<48”,希望对您有所帮助。
Sub Sample2()
Const cstrFolder As String = "F:\TCB_HR_KPI\Data View\"
Dim strFile As String
Dim i As Long
strFile = Dir(cstrFolder & "*.xls")
If Len(strFile) = 0 Then
MsgBox "No Files Found"
Else
Do While Int(Mid(strFile, 7)) < 48
Debug.Print cstrFolder & strFile
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, _
strFile, cstrFolder & strFile, True
i = i + 1
strFile = Dir()
Loop
MsgBox i & " Files are imported"
End If
End Sub