Ах, хорошо, спасибо! Последний пункт: я бы закодировал функцию, взяв матрицу, модифицировав и вернув ее, тип параметра функции все еще был бы
е всего я знаю, что вопрос уже задавался здесь:
вернуть многомерный массив, чтобы отличиться от C ++ XLL
Я пытался оживить эту тему, но безуспешно. (ОП не был таким активным в последнее время, никогда не был.) Вот почему я снова задаю вопрос, заранее извиняюсь.
Я кодировал функцию, возвращающую (рядный) одномерный массив:
__declspec(dllexport) LPXLOPER12 WINAPI Get1DArray(void)
{
static XLOPER12 xlArray;
XLOPER12 xlValues[2];
xlValues[0].xltype = xltypeNum;
xlValues[1].xltype = xltypeNum;
xlValues[0].val.num = 123;
xlValues[1].val.num = 456;
xlArray.xltype = xltypeMulti | xlbitDLLFree;
xlArray.val.array.rows = 1;
xlArray.val.array.columns = 2;
xlArray.val.array.lparray = &xlValues[0];
return static_cast<LPXLOPER12>(&xlArray);
}
это работает. Я попробовал то же самое, что пытался ОП из вопроса, о котором я упоминал выше (вот как я столкнулся с вопросом о его).
Единственный документ, который у меня есть, это MSDN для Excel SDK, это не помогло мне. Функцию, которую я кодировал, я использовал пример, найденный в Интернете. Не нашел ни одного для двумерного массива. Я знаю книги Стива Далтона о XLL, не помогло.
Я подозреваю, многомерныйXLOPER12
массивы фондовых значений в одномерных массивах, нумерация по строкам и столбцам или столбцам и строкам, но не удалось использовать эту интуицию ...
Вот почему я здесь.