网站大量收购闲置独家精品文档,联系QQ:2885784924

VB封装DLL实例讲解_access_excel_word_代码保护..doc

VB封装DLL实例讲解_access_excel_word_代码保护..doc

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VB封装DLL实例讲解_access_excel_word_代码保护.

VB封装DLL实例讲解(一讲) /post/107.html DLL基本概念 (一)概念 DLL即动态链接库(Dynamic Link Library),是由可被其它程序调用的函数集合组成的可执行文件模块。DLL不是应用程序的组成部分,而是运行时链接到应用程序中。 (二)主要优点: 1、多个应用程序可以共享一个DLL,而且当多个应用程序调用库的同一个函数时,可执行文件中装入的只是该函数的内存地址,从而节省内存和磁盘空间; 2、使用动态链接库易于我们维护用户程序,即使对动态链接库进行修改也不会影响用户程序; 3、从ACCESS角度而言,还可以更好的确保核心代码的安全。 ? 二、?用VB封装VBA代码,构建自定义的DLL动态链接库 (一)ACCESS中实例代码 下面是一个“快速获取数字(Acc).mdb”实例(该实例在文件包中),单击“提取结果”按钮,将文本框中的数字在弹出消息显示出来。 我将就这个实例演示如何将该实例VBA代码封装成为DLL。 ? ????? ? ?按钮单击事件代码如下: Private Sub CmdFindnumber_Click() ?Dim strM?? As String??? ?初始字符串 ?Dim strOut?As String??? ?输出字符串变量 ?Dim I ? ?strM = Me.Text1 ?从第一个字符向最后一个字符循环,以提取每个字符 ?For I = 1 To Len(strM) ?????判断是否为0到9字符,是则赋值输出 ????? If Mid(strM, I, 1) Like [0-9] Then ???????? strOut = strOut Mid(strM, I, 1) ????? End If ?Next I ??用MsgBox函数进行输出测试 ?MsgBox strOut End Sub ?? M以上代码还不能直接用于封装,须将其修改成为公用函数(过程) ? (二)VB封装实例中VBA代码 步骤一:在VB编辑窗中,点菜单【文件】-【新建工程】,打开新建工程窗口 ?? 步骤二:修改工程名,这即生成的DLL库名 1、修改工程名为:我的动态库 步骤三:修改类名 1、改类名为:提取数字 步骤四:在代码窗口输入如下代码。将ACCESS中的单击事件代码,略做修改成为一个公用函数,然后复制到VB代码编辑窗口 ? ? ?代码如下 将这前的ACCESS代码改成一个公用函数 ?输入:strPutString 字符串变量,需分离数字的字符串 ?输出: fFindNumber字符串变量,得到的数字字符 ?Public Function fFindNumber(strPutString As String) As String ?? Dim strOut?As String?? ??输出字符串变量 ?? Dim I ? ?? 从第一个字符向最后一个字符循环,以提取每个字符 ?? For I = 1 To Len(strPutString) ???? ?判断是否为0到9字符,是则赋值输出 ?????? If Mid(strPutString, I, 1) Like [0-9] Then ???????? strOut = strOut Mid(strPutString, I, 1) ?????? End If ?? Next I ??数字输出 ?? fFindNumber = strOut ?End Function ? 步骤五:编译DLL,点菜单【文件】-【生成我的动态库.dll】,VBA代码封装DLL就完成了。 ? 三、?在mdb中调用自定义DLL动态链接库 ? (一)新建数据库及窗体 新建【快速提取数字(DLL)实例.mdb】数据库,新建一个窗体【frmMain】,在窗体添文本框【text0】,按钮【CmdFindNum】,Caption属性:“提取数字”(见下图) ? (二)引用【我的动态库.dll】库 按【Alt+F11】打开VBE窗口,点菜单【工具】-【引用】,打开引用对话框,完成对我们自己编译的DLL的引用。 ? ? ?? (三)在【CmdFindNum】按钮单击事件中加入如下代码。 Private Sub CmdFindNum_Click() ??申明自定义类 ?Dim MyFindNum As 提取数字 ?Dim strOut As String ? ??实例化提取数字类对象 ?Set MyFindNum = New 提取数字 ??将函数输出结果赋值给自定义字符串变量 ?strOut = MyFindNum.fFindNumber(Text0) ? ??在消息框中显示 ?MsgBox 你提取的数字为: strOut, vbInformat

文档评论(0)

bhzs + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档