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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.07.2011, 12:53   #21  
GBH is offline
GBH
MCITP
Аватар для GBH
MCP
MCBMSS
Ex AND Project
 
140 / 28 (1) +++
Регистрация: 28.06.2007
Цитата:
Сообщение от Gustav Посмотреть сообщение
Запишите макрос в Excel, т.е. в пустом Экселе включите запись макро, далее откройте свой файл, сохраните его как xls, закройте файл, выключите запись макро. Получившийся код VBA несите сюда - я помогу его оформить на X++.

Импорт при помощи ADO работает с СОХРАНЕННЫМ файлом на диске! (этот файл как бы БД для него). К тому же, для несохраненного файла вы не сможете указать параметры строки подключения. Поэтому сохранение обязательно при использовании класса gl00mie.
Спасибо за совет. Сейчас попробую.
Но сомневаюсь, что макрос должен показать как он преобразует файл в удобочитаемый вид для Excel.

Собственно вот и макрос.
Просто открытие:
Sub Test()
'
' Test Макрос
'

'
ChDir "C:\"
Workbooks.Open Filename:="C:\reportSmall.xls"
End Sub

Открытие с сохранением:
Sub TestFull()
'
' TestFull Ìàêðîñ
'

'
ChDir "C:\"
Workbooks.Open Filename:="C:\reportSmall.xls"
ActiveWorkbook.SaveAs Filename:="C:\reportSmall.xlsx", FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
End Sub

Последний раз редактировалось GBH; 27.07.2011 в 12:58.
Старый 27.07.2011, 13:53   #22  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Как-то так. Предполагается, что в Excel 2007+ мы сохраняем файл в формате Excel 2003. Открывать дальше Jet'ом 4 (не ACE).
X++:
{
    COM xlApplication;
    COM xlWorkbooks, xlWorkbook;
    ;
    xlApplication = new COM('Excel.Application');
    xlWorkbooks = xlApplication.Workbooks();

    xlWorkbook = xlWorkbooks.Open(@'C:\reportSmall.xls');
    xlWorkbook.SaveAs(@'C:\reportSmall_TEMP.xls', 56);  // 56 = xlExcel8
    xlWorkbook.Close(false);
}
За это сообщение автора поблагодарили: GBH (1).
Старый 27.07.2011, 14:01   #23  
GBH is offline
GBH
MCITP
Аватар для GBH
MCP
MCBMSS
Ex AND Project
 
140 / 28 (1) +++
Регистрация: 28.06.2007
Цитата:
Сообщение от Gustav Посмотреть сообщение
Как-то так. Предполагается, что в Excel 2007+ мы сохраняем файл в формате Excel 2003. Открывать дальше Jet'ом 4 (не ACE).
X++:
{
    COM xlApplication;
    COM xlWorkbooks, xlWorkbook;
    ;
    xlApplication = new COM('Excel.Application');
    xlWorkbooks = xlApplication.Workbooks();

    xlWorkbook = xlWorkbooks.Open(@'C:\reportSmall.xls');
    xlWorkbook.SaveAs(@'C:\reportSmall_TEMP.xls', 56);  // 56 = xlExcel8
    xlWorkbook.Close(false);
}
Спасибо большое за пример!
Насчёт Jet не опечатка?
Старый 27.07.2011, 14:36   #24  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от GBH Посмотреть сообщение
Насчёт Jet не опечатка?
Раз сохраняем в формате 2003 (т.е. ДО 2007), то по идее должно работать с Jet (при ExtendProp = Excel 8.0, т.е. как прописано в классе).
Ну, впрочем, никто не мешает вам проверить и Jet, и ACE
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
документооборот и доступ к файлам ivas DAX: Программирование 34 18.05.2012 11:00
SysMailer, отправка PDF, приходит пустой файл ena_ax DAX: Программирование 12 19.11.2010 10:56
Gustav: Unsorted, или Записки DAX-дилетанта - II Gustav DAX Blogs 39 20.05.2009 15:34
Периодически пропадает доступ к Системе у удаленных пользователей andy_555 DAX: Администрирование 4 04.03.2009 15:02
Разрешение на доступ к базе данных nicko DAX: Администрирование 3 18.05.2004 18:49

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

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

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