最近有人决定将所有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"
}
}
预先感谢
答案 0 :(得分:0)
好吧,就像上面提到的那样,DLL可以在Excel 2010中正常工作...
所以这不是问题。 因此,一切都归结为在64位中使用regasm…
解决了。
仍然感谢您的评论。