【发布时间】:2014-02-18 13:29:02
【问题描述】:
我有一个导入电子表格的宏,如下所示:(此电子表格是从基于 Web 的应用程序导出的,在初始导出期间选择的格式是 97-2003)
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "d2s_safety_tbl", _
"\\company.com\dfsroot$\Share\office_public\D2S\D2S\D2S_Scorecard\Source Data\D2S\D2S Safety.xls", True
导入 Access 时,我得到:
Run-time Error '3274': External table is not in the expected format.
当我打开这个 Excel 文件时,我得到一个对话框
"The file you are trying to open is in a different format than specified by the file extension..."
所以文件名是 .xls,我的电脑告诉我它是 97-2003 格式,但是一旦我打开文件并单击保存,它默认将其保存为网页格式,并可选择另存为 .xls .什么给了?
更新:如果我打开文件,然后另存为 .xls 格式(看似多余,但显然不是),它会询问我是否要覆盖现有文件,所以我这样做了。完成此操作后,VBA 导入成功。我不能让店员每周都经历这个过程——有什么办法可以避免这种情况?可能是基于 Web 的应用程序的初始导出?
【问题讨论】:
-
您是否尝试过在记事本(或类似工具)中打开这个奇怪的文件,看看它是否真的只是一个带有
.xls扩展名的 HTML 文件? -
当我这样做时,我得到了我的 4 个标题和大约 100 行数据,但使用了各种 HTML 分区
-
文件是否包含 HTML
<table>标签? -
它以
<html><body><table border=1><tr><td style='font-weight: bold;'>CASE NUMBER</td><td style='font-weight: bold;'>PERSON HISTORY-EMPLOYEE NUMBER</td><td style='font-weight: bold;'>INJURY DATE</td><td style='font-weight: bold;'>RECORDABLE</td></tr>开头,然后提供所有数据
标签: excel ms-access import vba