问题描述
我有一个2012年为带有Office 2007的Widows7计算机开发的VBA应用程序,该应用程序在一组Excel上执行一些操作并生成一组Excel作为输出。
现在,我在Windows 10计算机上使用Visual Studio 2017运行同一应用程序,它提供了一些Range Class方法异常。我通过将Activate方法放在Range类上方来解决它,并且应用程序生成输出。 / p>
Dim activeSheet As Worksheet = DirectCast(expression.ActiveSheet,Worksheet)
activeSheet.Range("A1","DW5").Select()
Dim activeSheet As Worksheet = DirectCast(expression.ActiveSheet,Worksheet)
activeSheet.Activate()
activeSheet.Range("A1","DW5").Select()
但是,在某些列中,使用Office 2007的Widows7计算机中生成的输出和使用Office 365的Widows10计算机中生成的输出在某些列中有所不同。
Interop版本或Excel中的计算方式是否有变化?我不知道这里出了什么问题!
任何帮助将不胜感激。
编辑:
好吧,我尝试在其中一台VM中安装Office2007。相同的代码在Office2007和Office365中提供不同的输出!它基于斜率计算。
这里有一些代码,但我确定实际上是什么。
With xlApplication.WorksheetFunction
dblSlop = .Index(.Linest(myArray),1)
dblCoEfficient = .Index(.Linest(myArray,True),3)(1)
dblResult = dblSlop * dblCoEfficient
End With
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)