1

我很喜欢使用 VBA 将 excel 表导入访问,并循环浏览给定的文件夹以带回其中的所有内容。但是,我想遍历一个文件夹并只导入文件的选择。有人可以帮忙吗?每个文件都被称为REPORT1etc 并运行到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
4

2 回答 2

1

我刚刚将您的代码“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
于 2019-08-05T07:20:06.790 回答
0

我会这样做: Dir$() DoWhile Val(Mid(filename, 7, 2))<48 导入文件 Dir$() 循环

于 2013-11-07T03:08:37.930 回答