weihedao 发表于 2008-3-6 21:54:00

封装VBA代码其实不难

<p>VBA可以封装成DLL,从而可以达到保护代码的目的(相对比用密码保护、加密器保护<br/>等要强点)。由于本人水平有限,再加上不善言辞,说得不对的地方敬请谅解!<br/>欢迎大家一起交流(本人邮箱<a href="mailto:today6928@163.com">today6928@163.com</a>)!<br/>VBA代码封装成DLL步骤:<br/>1、安装Microsoft Basic<br/>2、打开Microsoft Basic 6.0,在“新建工程”中选取“ActiveX DLL”,新建一个工程<br/>3、把我们在VBA里面的代码拷贝到VB的代码编辑器。<br/>4、在“工程”里面选“引用”,引用CAD 类型库,比如“AutoCAD 2004 LIBRARY”<br/>5、在代码后面新建下面一个过程:</p><p>Dim acadApp As Object 'AcadApplication '<br/>Dim acadDoc As Object<br/>Sub xuexi3()<br/>Set acadApp = GetObject(, "AutoCAD.Application")</p><p>Set acadDoc = acadApp.ActiveDocument<br/>acadApp.WindowState = acMax '把CAD的视口调整为最大</p><p>Call zhuyao</p><p>End Sub</p><p>其中zhuyao 为我们的VBA代码里面的主要调用函数</p><p>6、按CTRL+H,把thisdrawing全部替换为acadDoc<br/>7、在“文件”里面选“make project ** dll”,生成DLL文件。<br/>8、回到VBA界面,新建一个工程,点“工具”--引用--浏览--,浏览到刚才做的<br/>DLL文件,点确定。<br/>9、在代码栏写如下代码:<br/>Dim aa As New pingmianbuzhi<br/>Sub ff()<br/>aa.xuexi3<br/>End Sub<br/>10、运行,看看,是不是达到目的了,恭喜你!</p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p>

weihedao 发表于 2008-3-6 21:59:00

<p>Dim aa As New pingmianbuzhi</p><p>pingmianbuzhi就是那个类的名字,系统默认是 Class1,可以自己改</p>

小狼 发表于 2008-3-6 22:11:00

<p>呵呵,不错啊</p><p>一天就就通了</p>

welcome0511 发表于 2008-3-14 21:11:00

我试了一下,是可行的,谢谢楼主

cqy 发表于 2008-5-19 23:21:00

<p>6、按CTRL+H,把thisdrawing全部替换为acadDoc</p><p>这一句不会运行,请多多指教,谢谢!</p>

leo_zp_yang 发表于 2008-7-9 11:27:00

可行吗?我试试了.

xxxtttxxx 发表于 2008-8-3 13:35:00

<p>单纯的程序可能比较容易,</p><p>但是如果带有窗体的话,不知道行得通吗?</p>
页: [1]
查看完整版本: 封装VBA代码其实不难