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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.02.2007, 16:23   #1  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
Имя документа Excel
При создании документа на основании шаблона система автоматом подставляет имя, к примеру, template1 (template.xlt название шаблона). Так вот может, кто подскажет, как поменять "template1" на "НАЗВАНИЕ", при этом, не сохраняя документ.
Старый 01.02.2007, 16:25   #2  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
Через WinApi
Старый 01.02.2007, 16:27   #3  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от konopello Посмотреть сообщение
Так вот может, кто подскажет, как поменять "template1" на "НАЗВАНИЕ", при этом, не сохраняя документ.
А вы это можете выполнить из самого Microsoft Excel?
Старый 01.02.2007, 16:29   #4  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
Цитата:
2 Sada
Хотя бы чуточку поточнее плиз.
Старый 01.02.2007, 16:30   #5  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
Или воспользоватся поиском
http://www.axforum.info/forums/showt...ghlight=winapi
Старый 01.02.2007, 16:31   #6  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
Цитата:
А вы это можете выполнить из самого Microsoft Excel?
Мог бы если бы знал это заветное свойство, которое надо изменить, то поправил бы в ComExcelDocument_RU
Старый 01.02.2007, 16:32   #7  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
2 Sada
Вы что-то перепутали.
Автор спрашивает про отчет в Excel, а не в Axapta
Старый 01.02.2007, 16:34   #8  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
Принцип один. Получаем хэндл окна и передаем ему заголовок.
winapi::setwindowtext(хэндл, текст);

Последний раз редактировалось Sada; 01.02.2007 в 16:37.
Старый 01.02.2007, 16:40   #9  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
Сча попробуем
Старый 01.02.2007, 16:42   #10  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
Думаю, что вылезший отчет Экселя в данный момент времени будет активным и хэндл можно получить через WinApi::getActiveWindow(); Что то в этом духе (давно такова не делал - забыл все - сорри)
Старый 01.02.2007, 16:45   #11  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
Цитата:
WinApi::getActiveWindow();
про это сомневаюсь надо как-то из COM объекта его вытаскивать, вот и будем искать.
Старый 01.02.2007, 16:48   #12  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
Цитата:
Сообщение от konopello Посмотреть сообщение
про это сомневаюсь .
Зря
Там реально не больше двух строк кода. Аксы нет под рукой, затра могу выложить...
Старый 02.02.2007, 09:32   #13  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
А я Вам наврал, однако...
PHP код:
hwnd winapi::findWindow('',strFmt('Microsoft Excel - %1',"План - Факт по клиентам1"));
winapi::setWindowText(hwnd,"План - Факт по клиентам за период с " date2str(datefrom,123,2,2,2,2,2) + " по " date2str(dateto,123,2,2,2,2,2)); 
Во как можна извратится
Старый 02.02.2007, 10:24   #14  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
Цитата:
hwnd = winapi::findWindow('',strFmt('Microsoft Excel - %1',"План - Факт по клиентам1"));
А как придлагаешь отлеживать имена файлов template1, template2. И в какой момент производить поиск. Перед удалением COM объекта, после???
Старый 02.02.2007, 11:18   #15  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
Цитата:
Сообщение от konopello Посмотреть сообщение
А как придлагаешь отлеживать имена файлов template1, template2. И в какой момент производить поиск. Перед удалением COM объекта, после???
Ну по крайней мере решение половины задачи я вам предложил - setWindowText
Моё дело предложить...
За это сообщение автора поблагодарили: konopello (1).
Старый 02.02.2007, 10:33   #16  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
Тут по мойму надо как то из Com обекта вытаскивать дескриптор окна (хэндл), и менять Заголовок. Иначе по мойму конкретной связи нет.

Народ HELP
Старый 02.02.2007, 10:44   #17  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
application.Hwnd
Старый 02.02.2007, 12:18   #18  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
Код:
void setApplicationName(Name _name)
{
    #WinApi
    HWND                    hwnd;
    HWND                    hwndChild;
    ;

    hwnd = m_comApplication.Hwnd();

    if (hwnd)
    {
        hwndChild   = winapi::getWindow(hWnd, #GW_CHILD);

        if (hwndChild)
            winapi::setWindowText(hwndChild, _name);
    }
}
блин вродебы все хорошо пулучаем хендл Excel получае хендл окна но winapi::setWindowText(hwndChild, _name); Текс не меняет????

Может я делаю изменения не в нужный момент??
Старый 02.02.2007, 12:24   #19  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
X++:
hwndChild   = winapi::getWindow(hWnd, #GW_CHILD);
А это зачем?
Старый 02.02.2007, 12:24   #20  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
Вы делаете изменеия после ExelDocument.visible(true); ?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Сохранение документа Excel Soup DAX: Программирование 15 07.06.2021 14:36
Ошибка при сохранении документа в MS Excel Breeze DAX: Программирование 13 23.01.2009 15:48
Как вставить в Excel имя из аксапты? Prof DAX: Программирование 2 23.09.2005 13:50
Форматирование Excel-документа из Axapta kostas DAX: Программирование 6 14.04.2004 14:52
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38

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

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

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