正如我猜很多人,我坐在一个MS访问应用程序与混合表,VBA模块和VBA类。我打算将该应用程序迁移到VB.NET。如何实例化一个vba类并从vb.net调用一个方法?
然而这将需要一些时间,我想利用自动化的慢慢代码迁移到VB.NET
现在我可以打电话定期SUB和功能从我的VB.NET应用程序,但不知道是否有是调用用户定义对象的方法的一种方法。
粗糙例子就是我想要做的
VBA
'Class1
Public Sub Test()
Print "Hello world"
End Sub
'Module1
Public oClass1 as Class1
Public Sub Init()
Set oClass1 = New Class1
End Sub
VB.Net
' Left out the opening of the access db
oAccess.Run("Init")
oAccess.Run("oClass1.Test())
它甚至有可能?
将代码/功能移植到VB.NET不是更容易吗?我不确定你是否可以从VB.NET调用VBA,但它可能比它值得的更多的工作,IMO。 – Tim
试图从.NET创建一个vba类的实例很可能涉及到COM,如果你移植了代码,这会使事情复杂化得更多,我想。 – Plutonix
你可以试试'CallByName' https://support.microsoft.com/en-us/kb/186143 –