失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 【VB6|第19期】vb6通过COM组件操作Excel

【VB6|第19期】vb6通过COM组件操作Excel

时间:2019-01-28 15:07:18

相关推荐

【VB6|第19期】vb6通过COM组件操作Excel

日期:7月3日

作者:Commas

签名:(ง •_•)ง 积跬步以致千里,积小流以成江海……

注释:如果您觉得有所帮助,帮忙点个赞,也可以关注我,我们一起成长;如果有不对的地方,还望各位大佬不吝赐教,谢谢^ - ^

1.01365 = 37.7834;0.99365 = 0.0255

1.02365 = 1377.4083;0.98365 = 0.0006

文章目录

一、前言二、COM技术浅谈三、通过COM操作Excel(3-1)引用 Microsoft Excel Object Library 库(3-2)创建、操作以及销毁 三部曲 四、常见问题的处理方案(4-1)引用中找不到Excel库的解决方案(4-2)只有WPS Excel的电脑运行程序报错的解决方案(4-3)程序运行很卡,CPU资源占用很高的解决方案

一、前言

近期帮一个客户做了一个预处理Excel的小工具,就想着总结一下关于VB6操作Excel的知识。本期主要讲解如何快速去使用COMComponent Object Model)技术来操作Excel,并且学习一些主要的知识与概念等等,快速构建一套使用该技术的思维习惯。

二、COM技术浅谈

COMComponent Object Model)是一种微软的组件技术,用于在不同的应用程序之间进行通信和交互,其核心概念是将功能独立的代码封装为组件,每个组件具有自己的接口和实现。组件可以被其他应用程序通过COM接口调用和使用,实现了组件的复用和跨应用程序的互操作性。

Excel COM组件是一种用于与Microsoft Excel进行交互的组件(现在也可以和新版的WPS Excel进行交互)。通过使用Excel COM组件,可以通过编程方式自动化Excel应用程序,执行各种任务,例如创建、读取、修改和保存Excel工作簿、操作工作表、单元格和公式,以及生成报表等。

三、通过COM操作Excel

要使用Excel COM组件,我们需要在开发环境中引用Microsoft Excel Object Library。。在以前电脑必须安装MS Excel,才可以使用此库;经过测试,现在电脑只安装新版本WPS Excel,也一样可以使用此库。

(3-1)引用 Microsoft Excel Object Library 库

(3-2)创建、操作以及销毁 三部曲

创建Excel COM组件;各种想要的操作,如读值、赋值等操作;销毁创建的Excel COM组件;

主要的Excel COM如下所示:

示例如下:

Option ExplicitPrivate Sub Form_Load()On Error Resume Next'(1)创建Dim xlApp As Excel.Application'Excel COM 组件,Excel 应用程序的实例Dim xlBook As Excel.Workbook 'Excel COM 组件,Excel 应用程序中的一个工作簿(Workbook)Dim xlSheets As Excel.Sheets 'Excel COM 组件,Excel 工作簿中所有的工作表(Worksheet)Dim xlSheet As Excel.Worksheet'Excel COM 组件,Excel 工作簿(Workbook)中的一个工作表'Set xlApp = New Excel.Application 'NO1:前期绑定,实例化对象Set xlApp = CreateObject("Excel.Application") 'NO2:后期绑定,实例化对象Set xlBook = xlApp.Workbooks.Open(App.Path & "\example.xlsx")Set xlSheets = xlBook.Worksheets'(2)操作xlApp.Visible = False 'Excel 应用程序窗口的可见性控制'当 ScreenUpdating = True 时 ,Excel 将显示对工作表的更改;'当 ScreenUpdating = False 时,Excel 将在后台执行操作,不显示对工作表的更改,从而提高执行速度。xlApp.ScreenUpdating = False 'Excel 应用程序的屏幕更新控制Set xlSheet = xlSheets(1) ' xlSheets("Sheet1")' 读取单元格的值Debug.Print xlSheet.Range("A2").value, xlSheet.Range("B2").value' 写入单元格的值xlSheet.Range("A3").value = "李小龙"Debug.Print xlSheet.Cells(3, 1).valuexlApp.ScreenUpdating = True'(3)销毁' 保存并关闭工作簿xlBook.Save' 保存Excel文件xlBook.Close ' 关闭Excel文件xlApp.Quit' 关闭Excel Application对象' 释放资源Set xlSheet = NothingSet xlSheets = NothingSet xlBook = NothingSet xlApp = NothingEnd Sub

补充一点,如果想要更好的兼容性,那么最后生成exe的时候,将Excel COM全部定义为object,采用后期绑定的方式,这样就不用纠结Excel版本的问题;

四、常见问题的处理方案

(4-1)引用中找不到Excel库的解决方案

如果在引用中找不到Microsoft Excel Object Library库,那么就点选“浏览(B)…”,选择安装的Excel程序,以下以MS Excel作为演示:

点击WIN键,然后输入excel,点选打开文件位置

右键Excel,点选打开文件位置

按住ctrl,接着右键点选复制文件地址(A)

将地址填入,点击打开(O)

(4-2)只有WPS Excel的电脑运行程序报错的解决方案

对于上图所示的报错,如果不想安装MS Excel,那么也可以安装更高版本的WPS Excel,经过不同电脑测试,此方案可以很完美的解决此问题。

(4-3)程序运行很卡,CPU资源占用很高的解决方案

如果运行挺久才得到结果,期间CPU可能高达50%,而其它电脑又是正常速度的,那么此类问题的解决方案同(4-2)一致,更新Excel应该就可以解决了。

版权声明:本文为博主原创文章,如需转载,请给出:

原文链接:/qq_35844043/article/details/130256762

如果觉得《【VB6|第19期】vb6通过COM组件操作Excel》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。