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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.05.2007, 08:42   #1  
pasha_isaev is offline
pasha_isaev
Участник
 
12 / 12 (1) ++
Регистрация: 21.03.2006
Адрес: Барнаул
Вставка рисунка в колонтитул Excel
Добрый день.
Уважаемые, не сталкивался ли кто-нибудь с задачей вставки рисунка в колонтитул Ёкселя?
В самом Ёкселе макрос по вставке рисунка работает. Перенесенный в Аксапту работать перестает.
Версия Аксапты 3.0 SP4


X++:
COM      PageSetup, PSHeader, PSHeaderPicture;

    Sheet           = EXA.activeSheet().comObject();
    PageSetup       = Sheet.PageSetup();
    PSHeaderPicture = PageSetup.LeftHeaderPicture();
    PSHeaderPicture.FileName("C:\\Faxmile.bmp");
//    PSHeaderPicture.FileName(legalEntityTable.LogoHeaderPath);

    info(PSHeaderPicture.FileName());

    PageSetup.LeftHeader("&[Рисунок]");
    //PageSetup.LeftHeader("&G");
Старый 08.05.2007, 15:08   #2  
pasha_isaev is offline
pasha_isaev
Участник
 
12 / 12 (1) ++
Регистрация: 21.03.2006
Адрес: Барнаул
В результате упражнений с проблемой выяснилось, что при вставке подобным образом рисунка в неруссифицированный Ёксель (естественно, используя не [Рисунок], &G) - все работает корректно. Т.е., видимо, проблема с передачей управляющих слов на русском в Ёксель. Попробовал программно переключать раскладку - без успеха.
Может есть у кого-то какие-нибудь соображения по этому поводу?
Старый 08.05.2007, 15:28   #3  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
а через COMDispFunction
Старый 08.05.2007, 16:04   #4  
pasha_isaev is offline
pasha_isaev
Участник
 
12 / 12 (1) ++
Регистрация: 21.03.2006
Адрес: Барнаул
Спасибо за идею. Попробовал.
К сожалению, результат тот же, т.е. - отрицательный
Старый 08.05.2007, 16:25   #5  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Работает ли это из других программ (VB, JS)
Старый 08.05.2007, 16:27   #6  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
и еще - что получится если вставить ручками а потом программно прочитать свойство?
Старый 08.05.2007, 16:59   #7  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
Ну рас макросом работает то можно просто макрос и запускать

метод класса ComExcelDocument_RU

X++:
void runMacros(MSOfficeBookMark_RU _bookMark,
               boolean          _wrapText,
               str              _nameMacros,
               int              _workSheetNumber = 1)
{
    COM         comRange;
    COM comApplication;

    ;

    comRange = this.findRange(_bookMark,_workSheetNumber);
    if (comRange)
    {
         comRange.activate();
         comApplication = m_comDocument.application();
         comApplication.run(_nameMacros);
    }
}
Старый 08.05.2007, 20:20   #8  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от konopello Посмотреть сообщение
Ну рас макросом работает то можно просто макрос и запускать
Если макрос существует в шаблоне, то да. Но если в шаблоне существует заранее сохраненный макрос для вставки картинки в колонтитул, то почему бы тогда без всяких сложностей не иметь в шаблоне просто заранее вставленную в колонтитул картинку?

Хотя, конечно, может иметься желание вставлять в колонтитул разные картинки в зависимости от некоторых условий. Тогда - да, заранее созданный макрос в шаблоне и передача имени файла картинки как параметра из Axapta в Excel при вызове Application.Run (вопрос взаимодействия с Excel в стиле Axapta программирует Excel на VBA, насколько я понимаю, пока не рассматривается).
Старый 09.05.2007, 10:24   #9  
pasha_isaev is offline
pasha_isaev
Участник
 
12 / 12 (1) ++
Регистрация: 21.03.2006
Адрес: Барнаул
Насчет запуска макроса из Аксапты идея не прошла.
Макрос:
ActiveSheet.PageSetup.RightHeaderPicture.Filename = "C:\Faxmile.bmp"
ActiveSheet.PageSetup.LeftHeader = "&G"
запущенный из Ёкселя, работает корректно и вставляет в параметры страницы "&[Рисунок]". Тот же макрос, запущенный из Аксапты, вставляет в параметры страницы уже "&G", что в русском Ёкселе нифига не работает. Т.е. исполнение одно и того же макроса в Ёкселе и из Аксапты работает по разному механизму.
Старый 09.05.2007, 10:31   #10  
pasha_isaev is offline
pasha_isaev
Участник
 
12 / 12 (1) ++
Регистрация: 21.03.2006
Адрес: Барнаул
А вот идея насчет чтения заранее вставленного колонтитула дала неожиданный результат. В Аксапте колонтитул "&[Рисунок]" был прочитан как "&О" (амперсант + русская буква О). Таким образом, если идет вставка в английский Ёксель, следует писать "&G", если в русский - "&О".
Я, правда, решил немного схитрить. Чтоб не заморачиваться с определением версии Ёкселя, я вставил в шаблоне в центральный колонтитул маленький рисунок с пустым белым полем. При формировании файла, я читаю оттуда значение колонтитула и переписываю его в левый колонтитул.
Вот. Т.е. такое решение, меня в принципе устраивает. Большое спасибо за идеи и участие.
За это сообщение автора поблагодарили: Gustav (2).
Старый 09.05.2007, 10:35   #11  
pasha_isaev is offline
pasha_isaev
Участник
 
12 / 12 (1) ++
Регистрация: 21.03.2006
Адрес: Барнаул
Сегодня 9 мая.
Пользуясь случаем, поздравляю с этим праздником всех нас.
Как показала практика, вместе мы победим любую проблему!
Теги
ax3.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Исследование скорости экспорта данных из Axapta в Excel (коллективный эксперимент) Gustav DAX: База знаний и проекты 79 13.02.2014 13:18
Вставка строки в Excel A-Lis-A DAX: Программирование 2 27.09.2007 12:03
[Excel] - Несколько версий Excel на машине клиента Андре DAX: Программирование 11 07.08.2007 13:45
вставка столбца в Excel Pawlik DAX: Программирование 23 29.03.2006 12:20
вставка знач. из Ax в Excel в именованую ячейку Denicce DAX: Программирование 6 15.09.2005 16:25
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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