VBA代码编程方法详解(十二)
时 间:2010-10-31 00:00:00
作 者:江羽 ID:3967 城市:南昌
摘 要:VBA代码编程方法详解(第十二部分)
全文结束
正 文:
6.13 查找代码获取相关信息
'查找代码文本信息定义数据类型
Public Type FindCodeInfo
SLine As Long '起始行
ELine As Long '结束行
SCol As Long '起始列
ECol As Long '结束列
BooFound As Boolean '是否找到
End Type
'函数功能:搜索模块中代码文本自定义函数
Function SearchCodeModule (ByVal VBCompNameOrIndex As Variant, _
ByVal strFindCode As String) As FindCodeInfo
Dim VBProj As VBProject
Dim VBComp As VBComponent
Dim CodeMod As CodeModule
Dim Findcode As FindCodeInfo '自定义数据类型
Dim SL As Long '起始行
Dim SC As Long '起始列
Dim EL As Long '结束行
Dim EC As Long '结束列
Dim Found As Boolean '查找是否存在
'实例对象
Set VBProj = VBE.ActiveVBProject
Set VBComp = VBProj.VBComponents (VBCompNameOrIndex)
Set CodeMod = VBComp.CodeModule
With CodeMod
'初始起始行列值
SL = 1: SC = 1
'初始结束行列值
EL = .CountOfLines: EC = 255
'开始查找
Found = .Find (strFindCode, SL, SC, EL, EC, True, False, False)
'如未找到继续查找
Do Until Found = False
With Findcode
.SLine = SL: .SCol = SC
.ELine = EL: .ECol = EC
.BooFound = Found
End With
EL = .CountOfLines: SC = EC + 1: EC = 255
Found = .Find (strFindCode, SL, SC, EL, EC, True, False, False)
End With
'赋值输出
SearchCodeModule = Findcode
End Function
'***************************************************
'调用示例:查找模块"bas_ProcInfo"中"程序申明行"文本,并获取相关信息
Dim FindInfo As FindCodeInfo '申明自定义数据类型
'查找并赋值给自定义数据类型变量
FindInfo = SearchCodeModule("bas_ProcInfo", "程序申明行")
MsgBox "查找文件:" & FindInfo.BooFound & vbLf & _
"起始行:" & FindInfo.SLine & vbLf & _
"起始列:" & FindInfo.SCol & vbLf & _
"结束行:" & FindInfo.ELine & vbLf & _
"结束列:" & FindInfo.Ecol
以上为本人研究关于VBA扩展类库在二次开发中的一点心得,现将其汇集成文与大家分享。上述文字中的代码并不能算最优化,也未囊括VBA扩展类库中对象所有属性、方法,但对于解决二次开发中可能遇到的大多数问题还是很有帮助的。
因为,成文较仓促,再则部分代码并未经过细致测试,不免有错漏之处,还请各位看文者帮助斧正,并告知本人,在此谢过。
因篇幅考虑,部分代码并未收入文中,大家可参看实例,文中“代码实例”可在本人专栏或Access Home论坛下载。
(本文演示实例下载)
作者:江羽
联系方式:QQ308938181
上一页 (全文结束)
Access软件网官方交流QQ群 (群号:483923997) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 【Access小作品】简单的待...(04.30)
- 【Access窗体导出PDF】...(04.08)
- 【Access窗体导出PDF】...(04.07)
- Access两种方式实现即时更...(03.01)
- Access隐藏与显示lacc...(01.12)
- 【Access高效办公】将每个...(12.23)
- Access21点游戏源代码(12.13)
- 【Access窗体导出Exce...(11.15)
- 【Access开发】Acces...(11.14)
学习心得
最新文章
- 附件字段如何判断myPictrue...(05.13)
- Access链接表SQL SERV...(05.11)
- Access快速开发平台企业版--...(05.09)
- 新版铁路工程管理系统V2.0(05.08)
- Access快速开发平台企业版--...(05.07)
- 【Access Call用法学习】...(05.06)
- access软件网站长张志简介 (05.05)
- 精美简单实用的系统面板(05.03)
- 【Access小作品】简单的待办任...(04.30)
- 从另一个ACCESS数据库批量导入...(04.29)