Excel精英培训网

 找回密码
 注册

VBA控件的自动注册与链接库的自动引用方法

已有 1622 次阅读2013-3-15 15:47 |个人分类:VBA| 注册

你是否有过这样的困惑,别人的文件或代码无法在自已电脑上正常运行。后来,你知道文件中使用了你电脑中没有注册的控件或对象的引用。于是你学会了手工设置,暂时解决了这个问题。

 控件的注册或对象链接库的引用能否用VBA自动完成呢,如果能实现,则就可以实现VBA程序文件真正的共享。

  分别就控件自动注册和对象的自动引用写了以下说明,请大家多多指点。

     一、控件注册

    注册控件首先电脑中需要有这个OCX文件,所以可以在EXCEL文件夹下提供该控件,然后用程序复制到system32文件夹中,然后使用shell函数进行控件注册。以注册日期控件为例,代码如下:

      Sub 注册日期控件()

        dim d

        On Error Resume Next

         FileCopy ThisWorkbook.Path & "/MSCOMCT2.ocx", "C:\Windows\system32\MSCOMCT2.ocx"

         d = Shell("regsvr32 C:\Windows\system32\MSCOMCT2.ocx")

     End Sub

     二、自动添加引用

        添加引用的前题是对VB工程具有操作权,即需要在宏的安全设置中选取“信任对visual basic项目的访问”选项。

        当然我们不能告诉每一个用户来设置这个项目,所以这个也需要用程序自动完成。

        综合上述,以自动引用字典对象的链接库为例,代码如下:

         Sub 引用字典对象()

              Dim myob

              On Error Resume Next

                Set myob = ActiveWorkbook.VBProject  

                  If Err <> 0 Then        ’如果程序出错

                        Application.SendKeys "%TMST%V~"    ‘用程序调用快捷键完成选取信任对visual basic项目的访问操作

                     End If

               ThisWorkbook.VBProject.References.AddFromFile "C:\Windows\System32\scrrun.dll"   ’引用

            End Sub

  

完成以上语句后,我们可以把他们放在thisworkbook_open事件中

            Private Sub Workbook_Open()

                引用字典对象

                注册日期控件

            End Sub








开始->运行
然后输入"regsvr32 scrrun.dll"
出处:http://blog.163.com/yuan_haijiang/blog/static/5628638420081015104558381/

评论 (0 个评论)

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-1 19:34 , Processed in 0.418310 second(s), 6 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部