2哥学Vb.net--VBS 操作VB.net dll

这两天在搞一个项目,其中涉及到要用vbs调用dll,用vs写个dll,还不是太辣手,但是要用vbs 调用dll,确实还是有点头大,但还好,我们有google。。。。

先提下用vb.net 自己调用自己的dll方法:在解决方案资源管理器中有个引用,右键→添加引用→出来一个消息框→点击浏览选项卡→选择DLL文件,就这样。

下面开始vbs 调用vb.net :

'System.Runtime.InteropServices这个名称空间提供了一系列的类来对COM对象进行操作
 Imports System.Runtime.InteropServices
'定义为com组件
'命名为Test.dll 
'为此 DLL 指定 GUID
<ComVisible(True)> <ProgId("Test.DLL")> <Guid("df2dac4d-ba8a-4ecc-b76e-958c1bc32f1f")> _
Class Class1
 Public Sub myTest()
Meessagebox.show("Hello kitty") 'code////自己的代码
 End Sub
End Class

'在生成dll之前,需要对程序集进行签名

在Choose a strong name key 下选择new,写入自己的key file name:例如

选择ok,然后生产dll文件。

ok,dll建好了,那么下面就该调用了

1.以管理员省份运行cmd,转到你的RegAsm.exe所在的.net 框架文件夹(4.5或者2.0文件夹下都有)下进行编写如下命令,如,我的.net 框架在(C:\Windows\Microsoft.NET\Framework64\v2.0.50727),那么在你的cmd界面所显示的应该是:

C:\Windows\Microsoft.NET\Framework64\v2.0.50727>regasm /codebase C:\Temp\VBScriptDotNetDLL.dll

其中c:\Temp为dll所在的文件夹,后面的那自然就是dll文件名了。

2.下面接下来要做的,大家都懂的,写自己的vbs:test.vbs

Dim mObj
set mObj = CreateObject("Test.DLL") '注意了:这里调用的是你前面的命名Test.DLL 而不是我们平时调用的所用的Class1
blnValid = mObj.myTest()'myTest你的方法


3,最后测试一下你的成果:

cmd->转到你dll文件夹下->wscript test.vbs

以上如果不清楚,请详细见:http://www.dirkstrauss.com/programming/calling-a-net-dll-from-vbscript#.UaQMu7KBSDs

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...