|
![]() |
#1 |
Administrator
|
Немного покопался... Да, по человечески (без программирования) сделать это нельзя.
![]() ![]() Немного теории для начала. В интерфейсах Excel есть два метода для выбора Range: один в интерфейсе Worksheet (range выбирается в контексте листа книги Excel), другой в интерфейсе Application (range можно выбирать вообще как угодно, хоть из другого файла). Так вот, в документообороте Axapta используется первый метод, но приложив минимум усилий можно заставить его использовать второй. Во-первых, надо написать обертку для второго метода. В класс SysExcelApplication добавьте абстрактный метод range: Код: abstract public SysExcelRange range(str _rangeName = '') { } Код: public SysExcelRange range(str _rangeName = "") { return SysExcelRange::construct(MSOfficeVersion::Office2000, _rangeName ? application.range(_rangeName) : application.range()); } Код: public SysExcelRange range(str _rangeName = "") { return SysExcelRange::construct(MSOfficeVersion::OfficeXP, _rangeName ? application.range(_rangeName) : application.range()); } Код: sysExcelRange = sysExcelWorksheet.range(bookmark); Код: sysExcelRange = sysExcelApplication.range(bookmark);
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|