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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.08.2010, 13:23   #1  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,038 / 1629 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Вывод в Excel на сервере
Есть задача -
На сервере открыть файл шаблона Excel, записать туда что-нибудь, сохранить
На 3.0, 4.0 все работало отлично
На 2009 не работает. Объект Application создается, но при попытке открытия файла появляется ошибка
Method 'add' in COM object of class 'Workbooks' returned error code 0x800A03EC (<unknown>) which means: Нет доступа к файлу 'c:\MyData\test.xlsx'

При изменении запуска класса на client все работает. АОС и Клиент установленны на одной машине, работают под одним пользователем(администратором).
С чем вообще может быть связана такая ошибка? Если это принципиально не возможно, то Microsoft конечно подложило большую свинью, так как пользователи практически всех веб-порталов любили всякие модификации, которые генерят ексельки на портале
Пример кода для воспроизведения:
X++:
static server void openFile()
{
    COM         comWorkBooks;
    COMVariant  varTemlateName;
    COM         m_comApplication;   // COM interface to MS Office application
    COM         m_comDocument;      // COM interface to MS Office documnet
    str         template = 'c:\\MyData\\test.xlsx';
    Set         permissionSet;
    ;
    permissionSet =  new Set(Types::Class);
    permissionSet.add(new FileIoPermission(template,'rw'));
    permissionSet.add(new InteropPermission(InteropKind::ComInterop));
    CodeAccessPermission::assertMultiple(permissionSet);


    m_comApplication = new COM('Excel.Application');
    m_comApplication.Visible(false);

    comWorkBooks = m_comApplication.workBooks();

    varTemlateName = new  COMVariant(COMVariantInOut::IN, COMVariantType::VT_BSTR);
    varTemlateName.bStr(template);

    m_comDocument = comWorkBooks.add(varTemlateName);
    info('ok');
}

Последний раз редактировалось trud; 19.08.2010 в 13:26.
Теги
excel

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Вывод всех меток из заданного уровня на заданных языках в Excel wojzeh DAX: Программирование 0 19.03.2010 23:45
Вывод картинки в Excel Zlojbarsuk DAX: Программирование 1 14.08.2008 14:21
Маленькое замечание про вывод в Excel NNB DAX: Программирование 11 23.06.2008 16:23
Вывод в Excel в формате XML и ширина колонок gl00mie DAX: Программирование 1 30.10.2006 10:45
Вывод в Excel в определнный Worksheet... soin DAX: Программирование 1 22.10.2004 13:53

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

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

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