需要创建用于脚本的COM DLL,如“Excel.Application”

时间:2011-06-20 13:24:38

标签: com ole activexobject

我想使用VSS 2010创建一个COM DLL,需要注册到Registry。我的目标是我想使用创建的DLL,如“Excel.Application”,“Word.Application”,“Wscript.Shell”那种。

我想使用CreateObject / New OleObject方法创建实例,并在我的脚本(VBScript或JavaScript)中使用相同的方法。

任何人都帮我创建一个COM对象以及如何注册它?

我尝试创建COM对象并尝试使用RegSvr32.exe进行注册。它说“dll已加载但没有找到入口点。请确保有效的dll或ocx”

以下是我的参考代码......

<ComClass(ComClass1.ClassId, ComClass1.InterfaceId, ComClass1.EventsId)> _
Public Class ComClass1 

Public Const ClassId As String = "b3b13b6c-6de5-47cb-ad6f-0ae5c7ce5c59"
Public Const InterfaceId As String = "68536b50-1b47-42d5-970f-d3d34b56d681"
Public Const EventsId As String = "413fa5c3-76fa-44d0-b753-1f3d3f52dbaf" 

' A creatable COM class must have a Public Sub New() with no parameters, 
' otherwise, the class  will not be
' registered in the COM registry and cannot be created
' via CreateObject.

Public Sub New()
    MyBase.New()
End Sub


Public Sub Test1()
    Console.WriteLine("Test1....")
End Sub

End Class

谢谢,
Shanmugavel.C

1 个答案:

答案 0 :(得分:0)

  1. 创建CLass库
  2. 在.vb文件中,首先创建一个接口。
  3. 通过继承接口来创建类。
  4. 在“签署”属性的TAB下创建强名称。
  5. 在“编译”属性
  6. 的TAB下启用“注册Com Interop”
  7. 输入装配信息。
  8. 构建解决方案。
  9. 在此之后,

    1. 转到“Visual Studio 2010命令提示符”
    2. 导航到dll路径
    3. 使用“regasm”注册dll,如regasm test.dll /tlb:test.tlb
    4. 现在注册表项将在CLSID和Interface下完成。然后

      1. 使用gacutil / i test.dll等“gacutil.exe”导出到GAC(全局程序集缓存,即C:\ Windows \ Microsoft.Net \ Assembly)
      2. 这就是全部....我们可以使用COM应用程序......

        参考链接:

        http://www.codeproject.com/KB/COM/nettocom.aspx http://www.15seconds.com/issue/040721.htm