31.01.2008, 14:27 | #1 |
Участник
|
Узнать строку и столбец именованной области в Excel
Для более гибких шаблонов потребовался сабж, следующий код (в виде расширения ComExcelDocument_RU) упорно не работает, укажите, пожалуйста, где неправ:
X++: //Возвращает контейнер из строки и столбца именованной области в Excel public container getNamedCellRowColumn(anytype _anyVal, int _workSheet = 1) { COM comWorkSheet; COM names, name; COMVAriant tmp; container ret = connull(); ; if (! m_comDocument) throw error(strfmt("@GEE6401", this.getApplicationName())); comWorkSheet = this.getWorkSheet(_workSheet); comWorkSheet.activate(); try { names = comWorkSheet.Names(); name = COM::createFromVariant(names.Item(_anyVal)); //ПАДАЕТ уже ЗДЕСЬ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tmp = name.RefersToR1C1(); ret = [tmp.bStr()]; } catch { checkFailed(strfmt("Чтение из Excel поля %1 завершилось ошибкой",_anyVal)); } return ret; } X++: cnt = excelDocument.getNamedCellRowColumn("ReportType"); |
|
|
|