用VBA封装DLL

合集下载

VB封装Excel_VBA成DLL技巧

VB封装Excel_VBA成DLL技巧

VB封装Excel_VBA成DLL技巧VB封装Excel_VBA成DLL技巧使用VB6.0在WinXP_sp2、Excel 2000环境下制作、测试通过。

一、启动VB6.0:执行:“文件夹(F)”——“新建(N)”——选择“ActiveX DLL”,如下图1:二、引用:VB 中对Excel的引用执行:“工程(P)”——“引用(N)”——选择所要引用的项目:如下图2Excel 2000中:Microsoft Excel 9.0 Object LibraryMicrosoft Office 9.0 Object LibraryExcel 2003中:Microsoft Excel 11.0 Object LibraryMicrosoft Office 11.0 Object Library三、编写代码:1、将工程默认名称“工程1”,改为“zygtest”,将类模块默认名称“Class1”,改为“zyg365”,2、在类模块的代码编辑区写入代码:如下图3模块名称为“hongtong”,代码如下在VB中编写代码时:要注意以下声名Dim XLAPP As ObjectSet XLAPP = GetObject(, "Excel.Application")代码中引用对象,如SHEET,Cell等,前面要加“XLAPP.”(或按照Sub hongtong() 中的格式编写。

)Sub hongtong()Dim excelApp As New Excel.ApplicationDim excelWorkBook As Excel.WorkbookDim excelWorksheet As Excel.WorksheetSet excelWorkBook = excelApp.Workbooks.Add '创建新工作簿Set excelWorksheet = excelWorkBook.Sheets(1) excelWorksheet.Cells(2, 3) = "宏通" '写入数据excelWorksheet.Cells(3, 4) = "zyg365" '写入数据excelApp.Visible = True '显示excel界面,用于调试excelWorkBook.PrintPreview '打印预览excelWorkBook.PrintOut '打印输出excelWorkBook.Saved = True'excelWorkBook.Close '关闭工作薄'excelApp.Quit '退出excelEnd Sub四、工程属性设置:(可以不设置,本步骤可以省略) 为了使自己开发的程序更规范,可以对本工程的属性加以描述:如下图4执行:“工程(P)”——“工程1属性(E)…”(当前工程中为:“zygtest属性(E)…”)五、保存工程、测试、打包生成Dll文件:1、保存:单击保存,保存到一个文件夹中;2、测试:执行工具栏上的“启动”(右向的三角图标)按钮,检查是否存在错误;3、打包生成Dll文件:执行:“文件(F)”——“生成工程1.dll(K)”(当前工程中为:“zygtest.dll”),重命名为“zyg.dll”,至此,Dll文件制作结束。

VBA封装为DLL及调用

VBA封装为DLL及调用

VBA封装为DLL及调⽤使⽤程序:1、Microsoft Office Excel 20032、Microsoft Visual Basic 6.0案例:在⼯作表的C1单元格得出A1单元格+B1单元格的值。

设计的VBA代码:Sub Test()On Error Resume NextRange("C1") = Cells(1, 1) + Cells(1, 2)End Sub第⼀部分、使⽤VB6.0制作DLL⽂件⼀、启动VB6.0,新建⼀个ActiveX DLL⼯程:⼆、引⽤:在VB中对Excel的引⽤不同版本的EXCEL在“引⽤”窗⼝⾥显⽰的版本号也不同:EXCEL2000(Microsoft Office 9.0)EXCEL2002(Microsoft Office 10.0),即ExcelXPEXCEL2003(Microsoft Office 11.0)EXCEL2007(Microsoft Office 12.0)EXCEL2010(Microsoft Office 14.0)EXCEL2013(Microsoft Office 15.0)三、修改ActiveX DLL的⼯程名称和类模块名称四、编写代码:在代码窗⼝输⼊代码,过程名称为Test:Sub Test()On Error Resume NextDim VBt, YB '定义变量VBtSet VBt = GetObject(, "Excel.Application") '使VBt表⽰为EXCEL对象Set YB = VBt.ActiveSheet '使YB表⽰为EXCEL的当前⼯作表'注意要在对象前加上YB变量以表⽰是EXCEL当前⼯作表的对象YB. Range("C1") = YB.Cells(1, 1).Value + YB.Cells(1, 2).ValueEnd Sub五、设置⼯程属性 (为使开发的程序更规范,可以对⼯程属性加以描述【⾮必要设置,可以省略】):六、保存⼯程、测试、⽣成DLL⽂件:1、保存⼯程:保存本⼯程以作为将来修改代码和升级程序的需要;2、测试⼯程:执⾏快捷⼯具栏上的“启动”按钮,检查是否存在错误;3、⽣成DLL⽂件:制作DLL⽂件。

VBA安全中的封装技术

VBA安全中的封装技术

VBA安全中的封装技术[摘要]提出了基于VBA应用中的源代码保密技术。

将VBA代码封装成动态链接库文件以及在word中引用动态链接库,保证VBA源代码的数据安全,且提高其执行速度。

[关键词]VBA、DLL1引言VBA(Visual Basic for Applications)是新一代标准宏语言,是基于Visual Basicfor windows发展而来的。

VBA提供了面向对象的程序设计方法,是对office 进行二次开发的有效途径。

相对于标准VB程序。

VBA易于学习掌握,用户可以利用它将繁琐、机械的工作转换为VBA程序代码,使工作自动化。

VBA提供了一个公共开放的开发平台,通过Visual Basic编辑器可以实现源程序的共享。

但是VBA在代码的保护上却存在着缺陷。

如果不对VBA工程设置密码保护,代码很容易被人浏览乃至窃取。

而且即使利用其自身提供的密码保护机制设置了密码保护,也很容易被破解,互联网上有很多针对于Word,Excel的密码破解器都可以很容易地对密码进行破解。

而visual c++、visualBasic、c++Builder和Delphi等编译器所编译出来的程序安全性相对较高,这是因为其代码可编译成可执行文件或者动态链接库文件。

动态链接库(Dynamic-Link Library),是基于Windows程序设计的一个非常重要的组成部分。

将程序制作成动态链接库,不仅能节省内存开销,减少开发的工作量,提高访问速度。

更重要的是能将程序源代码进行封装,提供程序的安全性。

利用这一特点,可以将VBA代码封装到动态链接库文件中,然后在Office文件中进行调用,从而提高安全性。

本文以VBA环境为基础,通过将VBA代码封装成DLL文件,并在Word 中引用DLL的方法,保证VBA源代码的数据安全,提供了一种针对于开放式平台下软件开发的安全处理措施。

2将VBA源代码封装为DLL的实现以下操作的前提是已经建好一个VBA工程。

发布DLL封装过程教程

发布DLL封装过程教程

在代码封装前,首先要完全确认,VBA代码的完全可行性。

1.1.打开EXCEL后,跳转到【VBA编辑器】界面。

操作:【工具】-【引用】查看,在VBA里面引用了那些工具和控件。

1.2.然后打开VB6.0,创建DLL。

操作:【工程】-【引用】将VBA里面的引用的工程都在VB里面引用。

说明:这一步是很重要的,也是基础。

很多时候就是在VB里面没有引用,造成封装后不能创建对象等等故障。

打开VB6.0的新建DLL!在CLASS(CODE)里面我们把在VBA里面的类模块复制过来!二、EXCEL VBA里面建立窗体!这个是我们在VBA里面建立的窗体!这个是我们建立的VBA窗体的代码!要求:在窗体的TETXBO1里面输入后按按钮后,将此保存在表"WO"的(1,1)单元格里面!所以我们建立了如下的代码:Private Sub CommandButton1_Click()Sheets("wo").Cells(1, 1) = TextBox1.TextEnd Sub接下来我们在VBA里面建立模块!输入如下代码Sub 窗体1()测试.ShowEnd Sub要求打开测试窗体!这样我们的VBA就建立完成了!三、DLL的制作!艾昨天讲到如何建立VBA!下面是昨天讲到的VBA建立的窗体!在TEXE里面输入内容按按钮后赋值到A1单元格[attach]202296[/attach]忙自己的软件了!接下来我们转到要加载DLL的EXCEL文件,进入VBA编辑,在thisworkbook里面建立加载DLL和卸载DLL的命令。

接下来我们新建一个类模块,主要用来调用窗体和DLL里面命令的。

DIM Fun As New 测试(在加载DLL后,输入“AS” 自动可以索引“NEW” 自动索引“测试”)DLL测试--是我们建立的DLL文件名称。

测试--是我们在DLL里面的模块,在这里要AS NEW (模块) 不是DLL了!这一句我们在上面将此设置为全局变量,方便下面的语句。

VBA封装为Dll的例子、方法与总结

VBA封装为Dll的例子、方法与总结

VBA封装为Dll的例子、方法与总结制作DLL时,ThisWorkBook中的代码封装方法如下:1、打开VB6,新建Act iveX DLL。

修改“工程”名称和“类模块”名称为需要的名称。

本例中,工程修改为Test DLL,类模块修改为Test。

2、建立引用。

一般需要引用Microsoft Office 11.0 Object Library和Microsoft Excel 11.0 Object Library。

如果VBA代码中还有其他引用,在VB中也要对他们引用。

3、这一步就是具体封装代码了。

在刚才建立好的Test DLL中,将代码放入Test类模块中。

如封装ThisWorkBook中的Open事件:Sub wbk_open(EApp As Excel.Applicat ion, wb As Excel.Workbook, sh As Excel.Worksheet)'--VBA中需要封装的主体代码End Sub其中VBA中的代码为事先做好的要封装的代码,如下面这个例子:'打开工作薄后在当前的工作表A1中输入TestPrivat e Sub workbook_open()Cells(1, 1) = "Test"End Sub封装为DLL的代码为:Sub wbk_open(EApp As Excel.Applicat ion, wb As Excel.Workbook, sh As Excel.Worksheet)Cells(1, 1) = "Test"End sub现在在VB6中生成Dll,到此就完成封装了。

4、在VBA中使用封装的代码首先,在VBA中要引用刚才生成的Test Dll.dll。

然后新建一个模块,在其中定义这样一个变量T:Public T As New Test Dll.Test然后在ThisWorkBook的Open中引用Test Dll中的Test,代码如下:Privat e Sub workbook_open()On Error Resume NextT.wbk_open Applicat ion, ThisWorkbook, Act iveSheetEnd Sub这样每次打开Excel后,就在Sheet1的Cells(1,1)中输入“Test”。

2016新编DLL文件制作与在VBA调用初级进阶

2016新编DLL文件制作与在VBA调用初级进阶

DLL文件制作与在VBA调用初级进阶■作者:ldhyob 日期:2004.02本文用一简例来演示如何将一正常在VBA中运行的代码移植到VB制作的DLL中去,并介绍如何在VBA 中进行调用。

这仅仅是最初级的介绍,希望能对此内容想了解的版友们一些帮助,而已掌握该技术的FANS 们完全可以跳过本文。

先来了解一下什么是DLL:DLL是Dynamic Link Library的缩写,意为动态链接库。

在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。

当我们执行某一个程序时,相应的DLL文件就会被调用。

一个应用程序可有多个DLL文件,一个DLL文件也可能被几个应用程序所共用,这样的DLL文件被称为共享DLL文件。

DLL文件一般被存放在C:\Windows\System目录下。

因此,DLL文件可以看作是一个程序扩展函数库,成为应用软件程序的外挂接口。

就象我们常在程序中用的WINDOWS API,就是如此,它是微软提供给程序员的函数宝库,用户只需了解函数功能与调用规则就可以拿来使用,而不用知道也不需要知道具体源码。

也正因为此,现在许多VBA开发者在保护其代码时也多采用此法来维护其合法权益。

现在开始。

假如我们要编这么一段代码:将工作表Sheet1的A1单元格的数值与B1单元格的数值相加填写到C1单元格去(嘿嘿,这是极简单的了,只是用来说明问题),在VBA模块我们可以编写这样的代码:Sub test()On Error Resume NextDim i, j As IntegerWith Worksheets("Sheet1")i = .Cells(1, 1).Valuej = .Cells(1, 2).Value.Cells(1, 3) = i + jEnd WithEnd Sub执行上面的宏,会发现C1单元格自动会出现A1+B1的结果了。

VB操作Excel封装成DLL

VB操作Excel封装成DLL

VB操作Excel封装成DLL【前言】:网上由于封装的例子和教程太零散,故系统地揭开封装神秘的面纱。

【步骤】:1、启动VB6.0程序,新建“ActiveX DLL”。

2、勾选VB对Excel的引用:(1) Microsoft Excel x.0 Object Library ;(2) Microsoft Office x.0 Object Library 。

3、在VB中编写需封装的功能代码。

(1)将工程名“工程1”改为“符合功能的名字”——如“海纳百川测试”,将类模块名“Class1”也改为另一个“符合功能的名字”——如“删除重复项”。

(说明:符合命名规则任意改为某某名,改名主要是为了区别和方便调用)(2)编写功能代码。

Sub 删重()Dim dic As ObjectDim xlApp As Excel.Application '针对GetObject获取已打开的Excel对象'Dim xlApp As New Excel.Application '针对CreateObject创建新的Excel对象Dim exWb As Excel.WorkbookDim exSh As Excel.WorksheetDim r As LongSet xlApp = GetObject(,"excel.application") '获取已打开的Excel对象'Set xlApp = CreateObject("excel.application") '创建新的Excel对象Set exWb = xlApp.ActiveWorkbook '获取当前活动工作簿'Set exWb = xlApp.Workbooks.Add '创建新的工作簿Set exSh = exWb.ActiveSheet '获取当前活动工作表'Set exSh = exWb.WorkSheets(1) '设置第一个工作表Set dic = CreateObject("scripting.dictionary")Dor = r + 1dic(exSh.Cells(r, 1).Value) = ""Loop Until exSh.Cells(r, 1) = ""exSh.Cells(1, 3).Resize(dic.Count) =Application.Transpose(dic.keys)Set dic = NothingSet xlApp=NothingSet exWb=NothingSet exSh=NothingEnd Sub4、点击——“文件”——“生成海纳百川测试.dll”——保存到指定位置。

将VBA代码编译封装成为DLL动态链接库的方法

将VBA代码编译封装成为DLL动态链接库的方法

将VBA代‎码编译封装‎成为DLL‎动态链接库‎的方法在OFFI‎C E中使用‎V BA虽然‎方便,并且功能强‎大,但是VBA‎在代码的保‎护上却存在‎着缺陷。

如果不对V‎B A工程设‎置密码保护‎,代码很容易‎被人浏览乃‎至窃取。

而且即使设‎置了密码保‎护,也很容易被‎人破解。

因此,要想真正保‎护VBA代‎码,要想让别人‎无法或难于‎破解您的V‎B A代码,那么,我们可以将‎V BA代码‎编译成为D‎L L动态链‎接库,也就是封装‎成为DLL‎的意思,下面是与此‎相关的方法‎,希望对您有‎所帮助。

一、为什么要编‎译成为DL‎L我们知道,Visua‎l C++、Visua‎l Basic‎和C++ Build‎e r以及D‎e lphi‎等编译器所‎编译出来的‎程序不容易‎被人破解(相对来说),这是因为代‎码被编译成‎了可执行文‎件或者动态‎链接库文件‎。

那么,我们是否可‎以将VBA‎代码封装到‎动态链接库‎文件中,然后用Wo‎r d调用呢‎?回答是肯定‎的。

而且这样做‎还有一个好‎处,即可以加快‎代码的运行‎速度。

二、将VBA代‎码封装成动‎态链接库假如我们已‎经写好了一‎个VBA工‎程,而且运行无‎误。

①建立VB工‎程及一般性‎操作首先,我们需要两‎种工具,其中当然包‎括Micr‎o soft‎Word,另外一种是‎M icro‎s oft Basic‎6.0。

打开Mic‎r osof‎t Basic‎6.0,在“新建工程”中选取“Activ‎e X‎DLL”,新建一个工‎程。

在属性窗口‎中将工程名‎改为VBA‎P rj,类模块名改‎为VBAC‎l s。

然后在“工程”菜单下打开‎“引用”,选取“Micro‎s oft Offic‎e 11.0 Objec‎t Libra‎r y”——这一步很是‎关键,切不可遗漏‎,然后保存工‎程。

下面我们所‎做的是向工‎程内添加代‎码。

将VBA工‎程中的一个‎名为Tes‎t过程的代‎码选定后复‎制,然后切换到‎V B编辑器‎,选中VB的‎工程管理器‎中的类模块‎V BACl‎s,将代码粘贴‎至代码编辑‎窗口中,于是这段代‎码便成了类‎模块VBA‎C ls一个‎方法,然后将工程‎编译生成d‎l l文件(如果编译成‎功的话)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VBA封装为DLL及调用2012-09-04 02:36:00| 分类:VB / VBA / EXCEL | 标签:|举报|字号大中小订阅使用程序:1、Microsoft Office Excel 20032、Microsoft Visual Basic 6.0案例:在工作表的C1单元格得出A1单元格+B1单元格的值。

设计的VBA代码:Sub Test()On Error Resume NextRange("C1") = Cells(1, 1) + Cells(1, 2)End Sub第一部分、使用VB6.0制作DLL文件一、启动VB6.0,新建一个ActiveX DLL工程:二、引用:在VB中对Excel的引用不同版本的EXCEL在“引用”窗口里显示的版本号也不同:EXCEL2000(Microsoft Office 9.0)EXCEL2002(Microsoft Office 10.0),即ExcelXP EXCEL2003(Microsoft Office 11.0)EXCEL2007(Microsoft Office 12.0)EXCEL2010(Microsoft Office 14.0)EXCEL2013(Microsoft Office 15.0)三、修改ActiveX DLL的工程名称和类模块名称四、编写代码:在代码窗口输入代码,过程名称为Test:Sub Test()On Error Resume NextDim VBt, YB '定义变量VBtSet VBt = GetObject(, "Excel.Application") '使VBt表示为EXCEL对象Set YB = VBt.ActiveSheet '使YB表示为EXCEL的当前工作表'注意要在对象前加上YB变量以表示是EXCEL当前工作表的对象YB. Range("C1") = YB.Cells(1, 1).Value + YB.Cells(1, 2).ValueEnd Sub五、设置工程属性(为使开发的程序更规范,可以对工程属性加以描述【非必要设置,可以省略】):六、保存工程、测试、生成DLL文件:1、保存工程:保存本工程以作为将来修改代码和升级程序的需要;2、测试工程:执行快捷工具栏上的“启动”按钮,检查是否存在错误;3、生成DLL文件:制作DLL文件。

第二部分、调用DLL文件一、在VBE中调用DLL文件调用DLL文件,要分两步走:先注册DLL,再引用DLL。

1、注册DLL(使之放在可引用的列表上):注册DLL也可以使用代码来做,但那样比较复杂,也存在很多问题,建议一般使用手工来注册。

(这里应该先设计好DLL文件放在硬盘的位置,因为后面引用DLL文件的代码也应该是指向这个位置的。

)先打开EXCEL,再打开“Visual Basic 编辑器”2、引用DLL(这样每次打开打开文件时,就不必再去那个引用列表里打个勾了)①DLL文件放在与EXCEL文件同一个文件夹内在ThisWorkbook中添加如下代码:Private Sub Workbook_Open() '打开文件时加载要引用的DLL文件shell "Regsvr32 /s " & Chr(34) & ThisWorkBook.path & "\VBADLL.dll"& Chr(34)End SubPrivate Sub Workbook_BeforeClose(Cancel As Boolean) '关闭文件之前卸载引用的DLL文件shell "Regsvr32 /s /u " & Chr(34) & ThisWorkBook.path & "\VBADLL.dll"& Chr(34)End Sub'/s参数是防止出现确认窗口;/u参数为取消引用。

②DLL文件放在固定文件夹内,如果你有多个XLS文档需要使用到同一个DLL文件,但这些XLS文档又不可能都与DLL文件放在同一个文件夹,则需要将DLL文件放置到一个固定文件夹,这样,只需要将上面的代码ThisWorkBook.path & "\VBADLL.dll" 换成一个固定位置即可。

注意:有时间可能出现某些错误,如提示“变量类型未定义”等,可能是引用后改变了文件的位置或改变了文件的名称,即使再重新再改回来也可能会出现这些问题,所以,在正确注册及引用以后,最好不要再去修改这个DLL文件。

如果出现问题,重新注册一次,保证注册的DLL文件的位置正确即可。

二、新建一个模块,输入调用DLL文件程序的过程:Sub DLLtest()Dim ABC As New VBAtest '定义ABC为新类,即为DLL文件中的类模块VBAtest ABC.Test '调用DLL中提供的过程,来完成原来在VBA中的功能,起到隐藏代码的效果Set ABC = Nothing '释放类资源End Sub三、在工作表中运行DLLtest宏即可实现调用:综上所述,感觉封装DLL的主要步骤是:①在VB中引用EXCEL;②编辑代码(要在对象前面加上定义的EXCEL变量);③在VBE中引用该DLL文件;④在VBE的代码中调用DLL中的过程。

简述封装VBA自定义函数dll以及在VBA和工作表中的引用[复制链接]本帖已被收录到知识树中,索引项:封装本帖最后由时光鸟于2013-1-10 10:50 编辑说实话,EXCELHOME里高手如云,我写这个东西真有点班门弄斧的味道,高手们请忽略此贴!之所以决定写,一方面是自己学习总结的一点心得体会;另一方面与想学习这方面东西的筒子们一起分享交流。

还有一个更重要的原因就是,我能找到的现有的文章中,关于封装、在VBA中引用及在工作表中引用这三个方面都谈到了的比较系统的介绍比较少,甚至没有。

闲话不说了,开始正题:一、用VB6.0封装自定义函数1.VB6.0封装是最方便受限制最少的方法,当然用的C#也可以做来(这里不作介绍),但需要.net库及对应的版本支持大家都知道win7是VB6.0所能支持的最后一个系统,win8已经不再支持官方安装版的VB6.0了,要想在win8中用VB6.0也是可以的,那就是用精简版的VB6.0(只有6M左右),封装VBA足够用了。

2.以管理员身份运行VB6.0(一定要以管理员身份运行),在弹出新建工程中选择ActiveX dll3.在工程管理器分别修改工程名称及类名称(改名是为了方便,如果仅测试不改名也行)4.工程名称及类名称改完后,把写好的VBA自定义函数复制到刚新建的工程的类模块中(本例是myClass),复制过来的函数一定不能是private的,要么是public的,要么前面空出来,原因不言自明。

5.如果你复制过来的函数是经过测试没有问题的话,选择左上角“文件”--生成XXXX(本例是生成TransNumber.dll),在弹出的对话框中选择该.dll封装文件的存放位置即可(随便什么位置),如果没有错误提示的话,那么封装就算是完成了!!(如果不是管理员身份运行VB6.0时,此处会提示不能访问注册表的错误提示)特别说明:如果你的VBA里不包含excel对象的话,可以按上述步骤封闭,如果包含excel对象的话,那么对应的工作就要麻烦一点了,在VB6.0中封装成dll前(也就是在进行上述第5步前),要先在vb6.0中添加引用Microsoft Office 15.0 Object Library和MicrosoftExcel 15.0 Object Library (不同的office版本,相应的版本号会不同,我这里是office2013,所以版本号是15.0)在所有的过程前加上这两句:自定义一个Excel.Application对象xlapp(起别的名字也行,随便)Dim xlapp As ObjectSet xlapp = GetObject(, "Excel.Application")然后在所有excel对象前面加上xlapp。

比如,sheet,cells,range,workbook等都是excel的对象,都要改成xlapp.sheet,xlapp.cells,xlapp.range,xlapp.workbook的形式。

当然这些改动最好在VBA工程里面测试无误后再复制到vb6.0里封装。

(鉴于很多朋友看东西速度快得惊人,以至于将这部分完全忽略,没办法,只好加红,如果还是忽略,我也没招了)二、在工作表中引用已封装的自定义函数。

6.在标题栏点击“开发工具”(如果没有的话,在选项中自定义设置中自己调出来,如下图),选择COM加载项,在弹出窗口中选择添加,找到刚才生成的.dll(本例是TransNumber.dll)文件,然后再点确定。

7.接下来在标题栏点击“开发工具”选择“加载项”(注意:这里不是“COM加载项”,而是紧靠COM加载项的“加载项”),在弹出对话框中选择自动化,然后再在弹出的自动化服务器中选择我们刚才生成的函数(本例是transNumber.myClass),找到后选择并确定,然后在刚才弹出的加载宏对话框中就多了我们添加的函数了,再点确定后就完成了所有设置,接下来就可以在工作表中像使用内置函数那样使用我们的自定义函数了。

(如下图)三、在VBA工程中引用已封装的自定义函数。

8.打开VBA工程,选择“工具”--“引用”,在弹出的引用对话框中点“浏览”,找到我们生成的.dll(本例是TransNumber.dll),点确定后回到刚才引用对话框里就多了我们的自定义函数transNumber,确定后完成设置。

2012-12-31 19:58 上传下载附件(42.3 KB)9.在VBA中就可以用"工程名.类名称.函数名()"的方式引用我们的自定义函数了,为简化代码,你也可以按下图方式操作。

至此,自定义函数的封装、在工作表的中引用及在VBA工程中的引用都介绍完毕了。

有不对的地方,恳请指定,谢谢。

相关文档
最新文档