【发布时间】:2011-12-22 03:12:06
【问题描述】:
我有一个将 Access 表导入 MS Office Excel 的模块。 这个模块已经实现了将近 6 个月并且运行良好,但是昨天模块突然开始给出错误消息“External table is not in expected format”
我通过这个网站搜索了答案,发现对于 Excel 2007,我必须使用语法“Excel 12.0”而不是“Excel 8.0”。我更改了脚本并收到一条新的错误消息: “找不到可安装的 ISAM” (代码如下)
其他信息:
我尝试打开创建的 excel 文件并收到警告消息:
“您尝试打开的文件 'bppdan.xls' 的格式与文件扩展名指定的格式不同。在打开文件之前,请确认文件没有损坏并且来自受信任的来源。你会现在要打开文件吗?”
所以...我决定修改代码(如下所示),但没有收到错误消息“外部表不是预期格式”或“找不到可安装的 ISAM” 我真的很想知道是什么原因导致这两个错误消息
我真的需要你的帮助
(In VB 6 Application)
In menu: Project -> References, I checked the option "Microsoft Excel 12.0 Object Library"
此代码生成“外部表不是预期格式”
Dim dbDest As Database
FName = ExcelApp.GetSaveAsFilename(, "Excel (*.xls),*.xls", , "Save to Excel")
If FName = False Then Exit Sub
Set dbDest = OpenDatabase(FName, False, False, "Excel 8.0;HDR=NO;")
此代码生成“找不到可安装的 ISAM”
Dim dbDest As Database
FName = ExcelApp.GetSaveAsFilename(, "Excel (*.xls),*.xls", , "Save to Excel")
If FName = False Then Exit Sub
Set dbDest = OpenDatabase(FName, False, False, "Excel 12.0;HDR=NO;")
我已经修改了代码:
Dim dbDest As Database
FName = ExcelApp.GetSaveAsFilename(, "Excel (*.xls),*.xls", , "Save to Excel")
If FName = False Then Exit Sub
Set dbDest = OpenDatabase("C:\Users\administrator\Desktop\my.xls", False, False, "Excel 8.0;HDR=NO;")
【问题讨论】:
-
你应该发布连接字符串和一些代码。
-
亲爱的 Remou...感谢您的建议,我已经发布了代码和连接.. 希望您能帮助我
-
恐怕这还不够。您正在 Access 中运行此代码,是吗?那么您是从 Access 导出到 Excel 吗?您正在打开现有的 Excel 文件吗?如果您从 Access 运行,是否有任何理由不使用 TransferSpreadsheet?为什么要打开 (?) Excel 作为数据库?
-
亲爱的 Remou... 不,我在 Visual Basic 中运行代码。我没有打开现有的 Excel 文件,我询问用户系统将创建的文件名。
-
哪个 Visual Basic?你在标签里说VBA,VBA是和一个应用关联的,你用的是哪个应用?