AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.12.2008, 11:55   #1  
Weez is offline
Weez
Участник
Axapta Retail User
 
250 / 84 (3) ++++
Регистрация: 18.01.2006
Адрес: Moscow city
Нужна помощь с 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");
        }
    }
}
Вызываю его в коде отчета, после создания файла Excel из шаблона,
вроде бы должно работать, но выдает на строке
X++:
comShape.Placement(1);
Error Сообщение (11:52:50) Метод "Placement" в COM-объекте класса "Shape" возвратил код ошибки 0x800A03EC (<неизвестно>), который означает: <неизвестно>.
Error Сообщение (11:52:50) Невозможно создать рабочую книгу Microsoft Office Excel.

Что я делаю не так?
__________________
Существует 10 типов людей: одни понимают двоичную систему, другие - нет.
Старый 24.12.2008, 12:41   #2  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Да вроде должно работать. У меня следующий код отрабатывает без ошибок (Акса и Офис - такие же):
X++:
static void Job122(Args _args)
{
    ComExcelDocument_RU doc = new ComExcelDocument_RU();

    COM     wbook;
    COM     activeSheet;
    COM     comShapes, comShape;
    int     i, countShapes;
    ;

    doc.NewFile();
    wbook = doc.getComDocument();
    activeSheet = wbook.ActiveSheet();

    comShapes = activeSheet.Shapes();
    // для примера создаем два текстовых прямоугольника
    comShapes.AddTextbox(1, 71.25, 42, 109.5, 84.75);
    comShapes.AddTextbox(1, 137.25, 157.5, 153, 75.75);

    countShapes = comShapes.Count();
    for(i = 1; i <= countShapes; i++)
    {
        comShape = comShapes.Item(i);
        comShape.Placement(1);
        info(comShape.Name());
    }
}
За это сообщение автора поблагодарили: Weez (1).
Старый 24.12.2008, 12:46   #3  
ivas is offline
ivas
Участник
Аватар для ivas
 
252 / 68 (3) ++++
Регистрация: 22.12.2005
видимо у вас какойто неправильный шаблон на котором какойто неправильный шэйп)
__________________
aLL woRk aNd nO JoY MAKes jAck a dULL Boy
Старый 24.12.2008, 12:59   #4  
Weez is offline
Weez
Участник
Axapta Retail User
 
250 / 84 (3) ++++
Регистрация: 18.01.2006
Адрес: Moscow city
Гм, может быть дело в том что работа с Аксаптой и офисом соответственно идет через Citrix.. Может с правами чего.. В общем дело похоже не в Аксапте, а в шаблоне или доступе.. Буду копать дальше, спасибо ответившим
__________________
Существует 10 типов людей: одни понимают двоичную систему, другие - нет.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Срочно нужна помощь по платежам Blondinka_N DAX: Функционал 8 06.08.2008 14:10
Проблема с Enterprise Portal AX 4. Срочно нужна помощь. zelibobis DAX: Функционал 3 16.10.2007 18:48
Нужна квалифицированная помощь по функционалу MBS Axapta kashperuk DAX: Прочие вопросы 12 31.05.2007 09:38
Нужна помощь. Alex_B DAX: Программирование 9 19.07.2006 18:01
Очень нужна Ваша помощь!!! Vasilenko Alexsandr DAX: Прочие вопросы 2 05.11.2003 11:51

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 16:00.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.