在一个项目中使用了 QueryTables 方法生成Excel,结果在客户端安装Excel2003时正常,安装Excel2007时发生错误,无法生成Excel。
查了下MSDN 得知,与引用的MS 组件有关系。
详情说明:http://support.microsoft.com/kb/263498/zh-cn
下面的步骤演示了自动化 Excel 从 Visual Basic 客户端的同时,您就可能会收到此错误。但是,您应注意此问题可能出现的任何客户端的自动化 Excel 并不是特定于 Visual Basic 自动化客户端。
在 Visual Basic 中创建一个新的 <b>标准 EXE</b> 项目。默认情况下创建 <b>Form1</b>。
向 <b>Form1</b> 添加一个 <b>命令按钮</b> 控件。
在 <b>项目</b> 菜单上单击 <b>引用</b>。
单击对象库,您的 Excel 版本。例如对于单击下列选项之一:
选择 Microsoft Office Excel 2007 年的 Microsoft Excel 12.0 对象库。
选择 Microsoft Office Excel 2003 年的 Microsoft Excel 11.0 对象库。
对于 Microsoft Excel 2002,选择 Microsoft Excel 10.0 对象库。
对于 Microsoft Excel 2000 中,选择 Microsoft Excel 9.0 对象库。
选择下列选项之一:
Microsoft ActiveX 数据对象 2.6
Microsoft ActiveX 数据对象 2.5
单击 确定 以关闭 引用 对话框。
将下面的代码添加到 <b>命令按钮</b> 的 <b>Click</b> 事件:
<b>注</b>: 此代码示例从生成的记录集上 SQL Server 罗斯文数据库。在连接字符串"YourServer"改为您 SQL Server 的名称。
按 F5 键运行该的应用程序,然后单击 <b>命令按钮</b>。
结果: 尝试添加 <b>查询表</b> 的代码的行生成运行时错误消息"5。
若要更正此错误,修改代码,以使记录集使用客户端游标。在代码示例中更改以下
到: