При попытке вызвать следующий метод Excel-DNA-Method в VBA я получаю только массив размером 1 (после 65536 строк размер массива, кажется, изменяется до реального размера массива - 65537). При вызове метода на листе как функции массива все работает.
[ExcelFunction(Description = "Example", Name = "Example", HelpTopic = "")]
public static object[] example() {
object[] ret = new object[65537];
return ret;
}
Я работаю с Excel 2007, лист представляет собой xlsm-лист, при использовании таких двумерных массивов все работает нормально.
[ExcelFunction(Description = "Example", Name = "Example", HelpTopic = "")]
public static object[,] example() {
object[,] ret = new object[65537,1];
return ret;
}
Но использование двумерных массивов в обратном порядке так же, как и в случае одного
[ExcelFunction(Description = "Example", Name = "Example", HelpTopic = "")]
public static object[,] example() {
object[,] ret = new object[1,65537];
return ret;
}
У кого-нибудь есть идея, как обойти это?
То же самое в VBA работает нормально
Function test()
Dim ret As Variant
ReDim ret(65536)
test = ret
End Function
Sub testSub()
Dim output
output = Application.Run("test")
End Sub
вывод имеет размерность 65537 (индексация начинается с 0), также работают числа больше 65537.
object[]
вместоobject[,]
в первом примере? - person CodesInChaos   schedule 10.01.20131.
вернуть индексацию одномерного массива от 0 до 1 или2.
вернуть индексацию двумерного массива от 0 до 1, от 0 до 65537? - person bonCodigo   schedule 18.01.2013