VBA MS-Access TransferSpreadSheet - 文件不是预期的格式

时间:2014-11-05 11:29:37

标签: vba ms-access access-vba

我正在开发一个项目,用户使用下面的代码从Excel工作簿导入电子表格,但是当我复制最新版本的工作簿时(用户每天都会创建一个新工作簿)一个模板工作簿的东西,验证他们的所有输入 - 我没有做到这一点)我得到错误'文件不是预期的格式'当它试图执行DoCmd.TransferSpreadsheet行时。

这总是会出现在新工作簿中,但最终会在几次尝试后因某种原因导入。我在代码中遗漏了某些内容,还是与工作簿有关?

*旧的工作簿总是第一次导入,在第一次出现后没有任何问题。

'File selector dialog box -----------------------------------------------
    'Variables for importing Excel workbook
    Dim f As Object
    Dim varItem As Variant

    DoCmd.SetWarnings False

    'Get Excel data
    Set f = Application.FileDialog(3)
    f.AllowMultiSelect = False
    f.Filters.Clear
    f.Filters.Add "Excel Workbooks", "*.XLSM"

    If f.Show Then
        For Each varItem In f.SelectedItems
            strFile = Dir(varItem)
            strFolder = Left(varItem, Len(varItem) - Len(strFile))
        Next
    End If
    Set f = Nothing
'------------------------------------------------------------------------
'TransferSpreadsheet method
    'Do nothing if empty
    If (strFolder & strFile = "" Or Null) Then
        Exit Sub
    Else
        'TransferSpreadsheet - taking the BP Schedule spreadsheet from selected workbook
        DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "LT_BP_Sched", strFolder & strFile, False, "BP Schedule!"
        strFolder = ""
        strFile = ""
    End If

0 个答案:

没有答案