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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.06.2016, 16:37   #1  
Emka is offline
Emka
Участник
 
40 / 12 (1) ++
Регистрация: 06.05.2015
? Excel с макросами
Добрый день.
Excel-евский отчет формируется из шаблона с расширением .xltm .
Необходимо сохранить отчет в папку temp с типом файла xlsm .
При простом сохранении выдает окошко (рис1), по нажатию Нет выдает ошибку (рис 2)
Само сохранение проходит так :
X++:
tempDirectory = endSlash(System.IO.Path::GetTempPath());
    filename = logistCostsTable_ZTR.BudgetCode + ', ' + logistCostsTable_ZTR.showObjectDlv() + ', ' + strReplace(logistCostsTable_ZTR.showProductName(),'/','.');

    excel.documentSaveAs(tempDirectory + filename + '.xlsm');
Я так понимаю необходимо насильно задать тип файла, но немного не понимаю как

Надежд на просветление не особо, решилась просить помощи у Великих и Могучих
Миниатюры
Нажмите на изображение для увеличения
Название: 1.jpg
Просмотров: 424
Размер:	42.6 Кб
ID:	10855   Нажмите на изображение для увеличения
Название: 2.jpg
Просмотров: 392
Размер:	98.2 Кб
ID:	10856  

Старый 07.06.2016, 22:42   #2  
Товарищ ♂uatr is offline
Товарищ ♂uatr
Участник
Аватар для Товарищ ♂uatr
MCBMSS
 
299 / 866 (29) +++++++
Регистрация: 23.10.2012
Добрый день!
Дело в том, что excel.documentSaveAs, так понимаю это COMExcelDocument_RU, в качестве параметра принимает только одну переменную, наименование файла.
То, что Вы задаёте расширение файла ".xlsm" не влияет на структуру данных и фактически сохранение выполняется в xlsx.
Если заглянуть в метод documentSaveAs можно увидеть:
X++:
m_comDocument.saveAs(_filenameSave);
Описание метода можно увидеть здесь: https://msdn.microsoft.com/ru-ru/lib...code-snippet-1
Нужно передавать вторую переменную код формата, можно взять отсюда:
https://msdn.microsoft.com/en-us/lib.../ff198017.aspx
По идее, должно получиться:
X++:
m_comDocument.saveAs(_filenameSave, 52);
Однако, некрасиво передавать переменную в таком виде.

Последний раз редактировалось Товарищ ♂uatr; 07.06.2016 в 22:57.
За это сообщение автора поблагодарили: Emka (1).
Старый 08.06.2016, 05:58   #3  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
886 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Цитата:
Сообщение от Товарищ ♂uatr Посмотреть сообщение
Однако, некрасиво передавать переменную в таком виде.
Макрос Excel, группа констант File Formats, #xlOpenXMLWorkbookMacroEnabled
__________________
Мы летаем, кружимся, нагоняем ужасы ...
За это сообщение автора поблагодарили: Товарищ ♂uatr (1), Emka (1).
Теги
excel, xltm

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
atinkerersnotebook: Using Export To Excel in Dynamics AX to Create Reporting Data Sources Blog bot DAX Blogs 1 12.10.2013 01:13
atinkerersnotebook: Using the Dynamics AX Excel Add-In Blog bot DAX Blogs 1 25.09.2013 07:11
atinkerersnotebook: Walkthrough & Tutorial Summary Blog bot DAX Blogs 1 09.09.2013 09:11
atinkerersnotebook: Using Excel to Import Products & Services in Dynamics AX Blog bot DAX Blogs 0 19.07.2013 15:11
Sample Design Patterns: Microsoft Dynamics AX - Remedy for slow Microsoft Excel import Blog bot DAX Blogs 0 29.05.2011 17:13
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:05.