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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.10.2020, 13:00   #1  
vazerdim is offline
vazerdim
Участник
 
77 / 40 (2) +++
Регистрация: 06.09.2008
DAX Функция Replace в Word
Добрый день, коллеги,
Может у кого то есть готовая функция для поиска текста в MS Word и его замены через COM?
Не смог найти на форуме, что бы мне могло помочь.
Заранее спасибо!

DAX 2009 RU8
Старый 06.10.2020, 14:07   #2  
Player1 is offline
Player1
Участник
Самостоятельные клиенты AX
 
306 / 137 (5) +++++
Регистрация: 21.04.2008
Для Excel есть
X++:
boolean replace(int     _workSheet,
                str     _range,
                str     _what,
                str     _replacement,
                int     _xlLookAt           = #xlPart,
                int     _xlSearchOrder      = #xlByRows,
                boolean _matchCase          = false,
                boolean _matchByte          = false)
{
    COM range = this.findRange(_range, _workSheet);

    return range.replace(_what, _replacement, _xlLookAt, _xlSearchOrder, _matchCase, _matchByte);
}
Старый 06.10.2020, 14:15   #3  
vazerdim is offline
vazerdim
Участник
 
77 / 40 (2) +++
Регистрация: 06.09.2008
Спасибо, но для Word, я думаю нужно что то типа такого:

X++:
Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "FromText"
        .Replacement.Text = "ToText"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
Но у меня не получается написать такую функцию в Ax, постоянно выходит ошибка не верное кол-во параметров.

X++:
selection =  m_comApplication.selection();
selection.find('FromText', 
                    'ToText',
                    COMVariant::createFromBoolean(true),
                    1,
                    COMVariant::createFromBoolean(false),
                    COMVariant::createFromBoolean(false),
                    COMVariant::createFromBoolean(false),
                    COMVariant::createFromBoolean(false),
                    COMVariant::createFromBoolean(false),
                    COMVariant::createFromBoolean(false));
Старый 07.10.2020, 08:26   #4  
michel1971 is offline
michel1971
Участник
 
78 / 78 (3) ++++
Регистрация: 14.01.2011
X++:
void replace(str    _from, str  _to)
{
    COM         selection;
    COM         selectionFind;

    try
    {
        selection = m_comApplication.selection();
        selectionFind = Selection.Find();
        selectionFind.Execute(_from, false, false, false, false, false, true, 0, false, _to, 2);

    }

    catch(exception::Error)
    {
         checkFailed(strFmt("@SYS19306", funcName()));
    }

    if (selection)
        selection.finalize();

}
Старый 07.10.2020, 12:36   #5  
vazerdim is offline
vazerdim
Участник
 
77 / 40 (2) +++
Регистрация: 06.09.2008
Цитата:
Сообщение от michel1971 Посмотреть сообщение
X++:
void replace(str    _from, str  _to)
{
    COM         selection;
    COM         selectionFind;

    try
    {
        selection = m_comApplication.selection();
        selectionFind = Selection.Find();
        selectionFind.Execute(_from, false, false, false, false, false, true, 0, false, _to, 2);

    }

    catch(exception::Error)
    {
         checkFailed(strFmt("@SYS19306", funcName()));
    }

    if (selection)
        selection.finalize();

}
Больше спасибо, то что нужно!
Теги
replace, word, замена

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
atinkerersnotebook: Populate Boilerplate Document With Dynamics AX Data Using Word Templates Blog bot DAX Blogs 0 08.02.2014 02:13
Функция Replace в Excel ex3em DAX: Программирование 2 23.04.2012 15:33
Dynamics AXBR: Gerar documentos baseados em templates do Word no DAX Blog bot DAX Blogs 0 28.01.2011 23:14
Replace() в System.Text.RegularExpressions.Regex DAx 2009 alexbn DAX: Программирование 2 28.10.2009 11:46
Управление CheckBox в word шаблоне из DAX kornix DAX: Программирование 3 24.02.2009 17:37

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

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

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