系统对象方法问题

时间:2016-10-24 10:44:32

标签: vba ms-access access-vba ms-access-2010

我今天才知道FSO,所以我试图将它实现到我的数据库中,以便每小时导入一次数据(每小时一个新文件出现在文件夹中)

当我运行代码时,它会找到该文件,但不会导入数据并抛出运行时3011错误

我的模块代码:

  Function getFilename(path As String) As String
Dim objFSO As Object
Dim objFolder As Object
Dim objFile As Object
Dim dateModified As Date

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(path)

For Each objFile In objFolder.Files
Debug.Print objFile.Name
If InStr(objFile.Name, "hourly performance") > 0 And Not Left(objFile.Name, 1) = "~" Then
    If objFile.datelastmodified > dateModified Then
    dateModified = objFile.datelastmodified
    getFilename = objFile.Name
    End If

End If

Next objFile

End Function

我的VBA代码是:

 Dim strFilename As String

strFilename = getFilename("C:\stats folder hourly\")

' Import Weekly stats
            DoCmd.TransferSpreadsheet transfertype:=acImport, SpreadsheetType:=10, _
            tablename:="Weekly", FileName:=strFilename, _
            Hasfieldnames:=True, Range:="AgentActivity CSV!"

错误:

  

Microsoft访问数据库引擎找不到对象'FILENAME'确保对象存在并且您正确拼写名称和路径名

帮助

2 个答案:

答案 0 :(得分:0)

尝试更改

getFilename = objFile.Name

getFilename = objFSO.GetAbsolutePathName(objFile)

将为您提供类似c:\ folder \ file.ext

的绝对路径

答案 1 :(得分:0)

我终于解决了问题

<byname>