我正在开发一个项目,用户使用下面的代码从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