我正在编写一个快捷键事件处理程序,以便在用户键入函数然后按下键盘快捷键时实现活动。
据我所知,ExcelApp.Evaluate("myFunc()")是最好的选择。
但是,在我的XLL外接程序中,myFunc返回类型object[,],而Evaluate()只返回类型object
有没有什么方法可以把object转换成object[,]
编辑:
object myArray = ExcelApp.Evaluate(functioname);
if (myArray is object[,])
{
int height = myArray.GetLength(0); //Does not recognise GetLength, even though it's an object[,] method发布于 2011-12-21 01:31:00
Evaluate可能是可行的,也可能不是,这取决于您到底想要什么。
如果你想实际评估地址之类的东西,那么是的,它是。
否则,就有Application.Run了。
对于这个问题,Excel的函数返回OLE Variant,它可以包含/引用任何内容,包括一个数组。在Excel方面,处理此问题不需要代码的任何工作。
编辑:
object[,] foo = (object[,])this.Application.WorksheetFunction.Transpose(new object[] {1,2,3,4} );
MessageBox.Show ( foo.GetLength(0).ToString() ); // shows 4https://stackoverflow.com/questions/8579357
复制相似问题