方法二:在类的代码块中加入 [System.Runtime.InteropServices.DllImport("ApplicationBlocks.dll")]
通过将Excel VBA代码封装成DLL,可有效防止代码被非法查看。上一节我们已经创建一个用VBA编写的DLL,本节,我们将通过Excel VBA环境来引用该DLL。下面就具体的方法。方法/步骤
引用Dll文件
打开Excel 2007,按键盘组合键“Alt+F11”进入VBA编程环境。点击“工具”→“引用”选项,在打开的“引用”窗口中,点击“浏览”按钮。
在随后打开的“浏览文件”窗口中,找到上一节生成的“feifeidown.dll”文件,点击“确定”进行添加,在返回的“引用”窗口中,确保勾选“feifeidown”,然后点击“确定”按钮完成。
双击“ThisWorkBook”,选择“Open”事件和“BeforeClose事件上”,并输入以下代码,用于在文档打开时注册DLL,以及关闭时反注册DLL。
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Shell "Regsvr32 /u /s " &VBA.Chr(34) &ThisWorkbook.Path &"\feifeidown.dll" &VBA.Char(34), vbHide
End Sub
Private Sub Workbook_Open()
Shell "Regsvr32 /s " &VBA.Chr(34) &ThisWorkbook.Path &"\feifeidown.dll" &VBA.Char(34), vbHide
End Sub
编写代码调用DLL
右击“Excel对象”,选择“插入”→“模块”,在模块中输入以下代码:
Sub Test()
Dim sa As New AddInfo
sa.SetValue
End Sub
按下键盘快捷键“F5”,在打开的“宏”窗口中选择“Test”,点击“运行”,然后就可以在Sheet1工作表中看到效果啦。
最后将该过程添加到“ThisWorkBook”的启动菜单中,即可实现在打开文档中自动运行宏的目地。
1、添加工程的头文件目录:工程—属性—配置属性—c/c++—常规—附加包含目录:加上头文件存放目录。
2、添加文件引用的lib静态库路径:工程—属性—配置属性—链接器—常规—附加库目录:加上lib文件存放目录。
然后添加工程引用的lib文件名:工程—属性—配置属性—链接器—输入—附加依赖项:加上lib文件名。
3、添加工程引用的dll动态库:把引用的dll放到工程的可执行文件所在的目录下。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)