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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.02.2006, 07:49   #1  
Aslan is offline
Aslan
Участник
 
98 / 10 (1) +
Регистрация: 23.08.2005
Адрес: Астана
bmp и ComExcelDocument_RU
Никто не подскажет как реализовать вставку картинок (желательно из базы) в Excel с помощью ComExcelDocument_RU?
Старый 06.02.2006, 08:26   #2  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
885 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Аналогичным вопросом в данный момент маюсь ...
Теоретически, через экземпляр данного класса через добираемся до ActiveSheet'а у документа, а у него получаем COM-объект Pictures.

book=excelDocument.getComDocument();
sheet=book.ActiveSheet();
pictures=sheet.Pictures();

Вот у него есть пара методов : Insert(имя файла, необязательный параметр преобразования какой-то) и Paste ...
Можно попробовать выгрузить картинку в файл, либо в буфер копирования, а потом уже в Excel пихать , но ...
Insert ругается, подлец, хотя в библиотеке типов Excеl описан ...
Paste еще не пробовал ...

P.S.
Как получилось :
1) Создаем объект типа Image
2) Позиционируемся на запись с картинкой
3) Пихаем поле-контейнер с картинкой в Image
4) Выгружаем на локальный диск
5) Загружаем способом, описанным выше

P.P.S. Если кто подскажет, как через буфер обмена пихать - буду премного благодарен

Последний раз редактировалось TasmanianDevil; 06.02.2006 в 09:52.
За это сообщение автора поблагодарили: Aslan (1).
Старый 06.02.2006, 12:01   #3  
Aslan is offline
Aslan
Участник
 
98 / 10 (1) +
Регистрация: 23.08.2005
Адрес: Астана
Получается что все плавно перешли на свои классы ...?
Старый 06.02.2006, 12:20   #4  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
885 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Да почему же на свои - все классы стандартные использованы ...
Старый 06.02.2006, 12:33   #5  
mit is offline
mit
Участник
Аватар для mit
 
386 / 36 (2) +++
Регистрация: 15.01.2003
Адрес: Moscow
была похожая проблема,
но в ворде. решил вот так:
в классе \Classes\DocuActionCOM_Word добавил метод, в который передаю абсолютный путь к картинке
PHP код:
boolean insertFile(str _filename)
{
    
COM  Doc;
    
COM  Shapes;
    ;

    
Doc COMrange.Parent();
    
Shapes Doc.Shapes();
    
Shapes.AddPicture(_filename);

    return 
true;

За это сообщение автора поблагодарили: Aslan (1).
Старый 06.02.2006, 12:35   #6  
mit is offline
mit
Участник
Аватар для mit
 
386 / 36 (2) +++
Регистрация: 15.01.2003
Адрес: Moscow
p.s. из базы картинку всатвить не получилась. если у кого есть опыт в этой области - с удовольствием перейму
Старый 07.02.2006, 13:25   #7  
perestoronin is offline
perestoronin
Разработчик
Аватар для perestoronin
NavAx Club
 
129 / 18 (1) ++
Регистрация: 06.09.2005
Адрес: г. Красногорск
2 Aslan
> проблема была... однако никто её не решил?

Сам не пробывал, вариант без использования диска для хранения файла с картинкой:

Image image = ...;

Image.clipboardcopy() - скопировать картинку из буфера обмена в объект Image
Image.clipboardpaste() - вставить картинку в буфер обмена из объекта Image

Подробнее см. \Forms\tutorial_window и \Forms\tutorial_Form_Capture

С уважением
Вячеслав

PS. Со вставкой из буфера обмена в Excel я думаю проблем не должно быть :-)

Последний раз редактировалось perestoronin; 07.02.2006 в 13:38.
Старый 07.02.2006, 18:02   #8  
mit is offline
mit
Участник
Аватар для mit
 
386 / 36 (2) +++
Регистрация: 15.01.2003
Адрес: Moscow
думаю, что буфер это собственность пользователя, и использовать его можно только в самом крайнем случае
Старый 07.02.2006, 18:17   #9  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,129 / 916 (35) +++++++
Регистрация: 03.04.2002
Цитата:
Сообщение от Aslan
Никто не подскажет как реализовать вставку картинок (желательно из базы) в Excel с помощью ComExcelDocument_RU?
А какую именно задачу предполагается решить? Если это логотип на печатных формах, то гораздо более приемлимый вариант, использование шаблонов.
__________________
Isn't it nice when things just work?
Старый 08.02.2006, 07:13   #10  
Aslan is offline
Aslan
Участник
 
98 / 10 (1) +
Регистрация: 23.08.2005
Адрес: Астана
А если 14 компаний...на каждую компанию по шаблону?
Старый 08.02.2006, 10:09   #11  
mit is offline
mit
Участник
Аватар для mit
 
386 / 36 (2) +++
Регистрация: 15.01.2003
Адрес: Moscow
ну и какие проблемы?
у меня к примеру 5 компаний, и примерно 20 разных логотипов по каждой, получ. 100 шаблонов. сделал один шаблон, поожил на сервер 20 картинок в базе прописал путь к картинкам. получилось 100 бланков. а по поводу 14 шаблонов - не вижу особой проблемы. 14 шаблонов можно сделать даже руками максимум за 30 минут, а тема висит 2 дня...
Старый 08.02.2006, 12:37   #12  
perestoronin is offline
perestoronin
Разработчик
Аватар для perestoronin
NavAx Club
 
129 / 18 (1) ++
Регистрация: 06.09.2005
Адрес: г. Красногорск
Цитата:
Сообщение от mit
думаю, что буфер это собственность пользователя, и использовать его можно только в самом крайнем случае
Буфер пользователя можно и сохранить, а после пользования им, восстановить его.
Старый 10.02.2006, 10:21   #13  
Aslan is offline
Aslan
Участник
 
98 / 10 (1) +
Регистрация: 23.08.2005
Адрес: Астана
Решение ... в конце концов получилось такое.
Забираем картинку из базы классом BinData() временно сохраняем в рабочей директории
клиента, дальше работает Com... после удаляем картинку.Всем спасибо за отклик.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
сохранение bmp andreynikolai DAX: Программирование 3 30.05.2003 17:17

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

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

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