VB 6.0中如何访问EXCEL 2007及EXCEL 2010
问题及分析过程
结合上述情况,我又使用中文搜索("VB 6.0如何访问EXCEL 2010"),终于在地址http://blog.sina.com.cn/s/blog_6e001be701016yi8.html找到比较明确的参考答案。当然,这个结论与上面那个MVP提供的信息是一致的。 结论在VB6中目前不能通过ADODC控件方式借助JET引擎访问EXCEL 2010,即使安装了上述新的访问工具(这个工具是用于VB.NET访问新版本的EXCEL使用的)。但是,在上图中可以使用如图中所示的另外一种方式(Microsoft OLE DB provide for ODBC DRIVER)直接在ADODC控件中访问EXCEL 2010(我现在就使用了这种方式)。尽管花费了不少时间,终于有一个结果,还算欣慰一些…… 很遗憾很疑惑,我在通过代码使用ADODC控件访问EXCEL 2010时,还是出现错误。相关代码如下: CommonDialog1.CancelError=False CommonDialog1.InitDir=App.Path&"Data" Me.CommonDialog1.Filter="Excel2010(*.xlsx)|*.xlsx|Excel2003(*.xls)|*.xls" CommonDialog1.FilterIndex=1 CommonDialog1.ShowOpen 'e.g.'single.xls' strName=CommonDialog1.FileTitle Adodc1.ConnectionString="Provider=MSDASQL.1;PersistSecurityInfo=False;DataSource=ExcelFiles;InitialCatalog="&App.Path&strName Adodc1.CommandType=adCmdText Adodc1.RecordSource="Select*from[Sheet1$]" Adodc1.Refresh 运行过程中出现具体错误提示如下图所示(答案正在寻找中……) [问题解决] 其实,上面的表达方式基本没有问题,只是最后一句不能在此调用。典型情况下,上述代码应当是在Form_Load方法中调用的。于是,应当在Form_Activate方法中调用Adodc1.Refresh方法。如此,一切OK! 文章http://www.excelpx.com/thread-228696-1-1.html处提供了较细致的访问方法,只可以估计是针对VB.NET的方案,根本不适合VB6. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |