【发布时间】:2015-08-21 17:00:51
【问题描述】:
我猜很多人都是这样,我正坐在一个 ms 访问应用程序中,它混合了表、VBA 模块和 VBA 类。我打算将该应用程序迁移到 VB.NET。
但是这需要一些时间,我想利用自动化将代码缓慢移动到 VB.NET
现在我可以从我的 VB.NET 应用程序中调用常规的 SUB 和函数,但想知道是否有一种方法可以调用用户定义对象的方法。
粗略的例子我想做的事
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。
-
尝试从 NET 创建 vba 类的实例可能会涉及 COM,这比移植代码更复杂,我认为。
-
你可以试试
CallByNamesupport.microsoft.com/en-us/kb/186143
标签: vb.net ms-access vba office-interop