|  06.10.2020, 13:00 | #1 | 
| Участник | DAX Функция Replace в Word 
			
			Добрый день, коллеги, Может у кого то есть готовая функция для поиска текста в MS Word и его замены через COM? Не смог найти на форуме, что бы мне могло помочь. Заранее спасибо! DAX 2009 RU8 | 
|  | 
|  06.10.2020, 14:07 | #2 | 
| Участник | 
			
			Для 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 | 
| Участник | 
			
			Спасибо, но для 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:=wdReplaceAllX++: 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 | 
| Участник | 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 | 
| Участник | Цитата: 
		
			Сообщение от 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, замена | 
|  | 
| 
 |