首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Excel evaluate()是否返回object[,]?

Excel evaluate()是否返回object[,]?
EN

Stack Overflow用户
提问于 2011-12-21 01:21:23
回答 1查看 423关注 0票数 0

我正在编写一个快捷键事件处理程序,以便在用户键入函数然后按下键盘快捷键时实现活动。

据我所知,ExcelApp.Evaluate("myFunc()")是最好的选择。

但是,在我的XLL外接程序中,myFunc返回类型object[,],而Evaluate()只返回类型object

有没有什么方法可以把object转换成object[,]

编辑:

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-21 01:31:00

Evaluate可能是可行的,也可能不是,这取决于您到底想要什么。

如果你想实际评估地址之类的东西,那么是的,它是。

否则,就有Application.Run了。

对于这个问题,Excel的函数返回OLE Variant,它可以包含/引用任何内容,包括一个数组。在Excel方面,处理此问题不需要代码的任何工作。

编辑:

代码语言:javascript
复制
object[,] foo = (object[,])this.Application.WorksheetFunction.Transpose(new object[] {1,2,3,4} );

MessageBox.Show ( foo.GetLength(0).ToString() );  // shows 4
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8579357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档