在Office 365(Excel)中使用托管DLL(C#)

时间:2018-12-19 16:22:57

标签: .net vba 64-bit office365 activex

最近有人决定将所有Excel 2010移至Office 365 ... 64位最近,他们意识到VBA中使用了一些ActiveX,旧式DLL(用vb6编写!)。 当然,它们不会在Office 365中运行,因此我们正在尝试将其迁移到.NET 4.5。 我们在C#中做了一个小的dll示例(返回一个字符串)。它可以在Excel 2010中正常运行,但不能在365中运行。(错误429)。 现在的问题是: 1.它应该起作用/是否可以使其起作用? 2.如果可以,怎么办? 3.如果没有,那么正确的做法是什么(最好不转储VBA代码)?

好吧,vba中的代码非常简单

喜欢

Dim x as New Element365.Connection
Dim s as String
s = x.get_String
MsgBox s

and the code in c# just as well...(The dll's name/namespace is Element365)

public class Connection {

public Connection() {
}

public String get_String() {
return "This is a Test"
}
}

预先感谢

1 个答案:

答案 0 :(得分:0)

好吧,就像上面提到的那样,DLL可以在Excel 2010中正常工作...

所以这不是问题。 因此,一切都归结为在64位中使用regasm…

解决了。

仍然感谢您的评论。