【VB6|第19期】vb6通过COM组件操作Excel
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
日期2023年7月3日
作者Commas
签名(ง •_•)ง 积跬步以致千里,积小流以成江海……
注释如果您觉得有所帮助
帮忙点个赞
也可以关注我
我们一起成长如果有不对的地方还望各位大佬不吝赐教谢谢^ - ^
1.01365 = 37.78340.99365 = 0.0255
1.02365 = 1377.40830.98365 = 0.0006
文章目录
一、前言
近期帮一个客户做了一个预处理Excel的小工具就想着总结一下关于 VB6
操作 Excel
的知识。本期主要讲解如何快速去使用 COM
Component Object Model
技术来操作Excel
并且学习一些主要的知识与概念等等快速构建一套使用该技术的思维习惯。
二、COM技术浅谈
COM
Component 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
如下所示
Excel COM | 说明 |
---|---|
Excel.Application | Excel 应用程序的实例 |
Excel.Workbook | Excel 应用程序中的一个工作簿Workbook |
Excel.Sheets | Excel 工作簿中所有的工作表Worksheet |
Excel.Worksheet | Excel 工作簿Workbook中的一个工作表 |
示例如下
Option Explicit
Private 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).value
xlApp.ScreenUpdating = True
'3销毁
' 保存并关闭工作簿
xlBook.Save ' 保存Excel文件
xlBook.Close ' 关闭Excel文件
xlApp.Quit ' 关闭Excel Application对象
' 释放资源
Set xlSheet = Nothing
Set xlSheets = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
End 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
应该就可以解决了。
版权声明本文为博主原创文章如需转载请给出
原文链接https://blog.csdn.net/qq_35844043/article/details/130256762
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |