24.12.2008, 11:55 | #1 |
Участник
|
Нужна помощь с Excel
Ax 3.0 SP4, Office 2003
Ситуация следующая - существует отчет, выводящийся в Excel, переодически при его формировании вылетает следующая ошибка "Метод "insert" в COM-объекте класса "Range" возвратил код ошибки 0x800A03EC (<неизвестно>), который означает: Cannot shift objects off sheet." В поисках решения нашел ссылку http://support.microsoft.com/kb/211769, в которой приводится макрос VBA, устраняющий эту ошибку. Вот он: Sub Test() Dim s As Shape On Error Resume Next For Each s In ActiveSheet.Shapes s.Placement = xlMoveAndSize Next End Sub В классе comExcelDocument_ru добавил метод следующего вида: X++: void changeShapesProperties() { COM workSheet, comShapes, comShape; int countShapes, i; ; if (m_comDocument) { try { workSheet = m_comDocument.ActiveSheet(); comShapes = workSheet.shapes(); countShapes = comShapes.Count(); for(i = 1; i <= countShapes; i++) { comShape = comShapes.Item(i); comShape.Placement(1); } } catch (Exception::Error) { throw error("@DIS6043"); } } } вроде бы должно работать, но выдает на строке X++: comShape.Placement(1); Error Сообщение (11:52:50) Невозможно создать рабочую книгу Microsoft Office Excel. Что я делаю не так?
__________________
Существует 10 типов людей: одни понимают двоичную систему, другие - нет. |
|