Имя: Пароль:
1C
1С v8
Работа с WORD из 1с
,
0 AlexYAT
 
05.02.19
09:41
Доброго времени суток.

При работе возник вопрос с заменой текста в макете word, обычная замена проходит, НО текст в фигуре не заменяется.

Кто нибудь сталкивался с таким? И как возможно это решить?
1 Мимохожий Однако
 
05.02.19
10:02
(0) "текст в фигуре " расшифруй
2 AlexYAT
 
05.02.19
10:30
обычные шаблоны для замены текста, как например (не срабатывает)
https://helpf.pro/faq/view/1445.html
3 _Дайвер_
 
05.02.19
10:34
4 AlexYAT
 
05.02.19
10:42
(3) Именно VBA и использую по COM... на команду поиск фразу находит, по замене игнорирует.
5 _Дайвер_
 
05.02.19
10:56
(4) Скинь код
6 AlexYAT
 
05.02.19
11:02
Пример кода:
    Попытка
        COMОбъект.Documents.Open2000(ИмяФайлаДоговора);
    Исключение
        COMОбъект.Quit(0);
        COMОбъект = 0;
        УдалитьФайлы(ИмяФайлаДоговора);
    КонецПопытки;
    
    Попытка
        НовыйДокумент = COMОбъект.Application.Documents(1);
        НовыйДокумент.Activate();
        
        
        Замена = НовыйДокумент.Content.Find;                    
        Замена.Execute("фыва"   , Ложь, Истина, Ложь, , , Истина, , Ложь, "Ж");
    Исключение
        COMОбъект.Application.Quit();
        сообщить(ОписаниеОшибки(), статусСообщения.Важное);
    КонецПопытки;
7 dk
 
05.02.19
11:19
картинку этой фигуры скинь
8 AlexYAT
 
05.02.19
11:25
9 dk
 
05.02.19
11:40
тебе надо обратиться к объекту надпись и его свойство установить
а ты через текст документа пытаешься
------------
запиши макрос - посмотри как так записывается изменение надписи
10 AlexYAT
 
05.02.19
18:26
Спасибо! Показал куда копать. Может кому ни будь пригодится вариант решения. Добавляется к предыдущему коду.
Код:
        МаксИндекс = НовыйДокумент.Shapes.Count;
        Для Индекс = 1 По МаксИндекс Цикл
            Попытка
                Найден = НовыйДокумент.Shapes.Item(Индекс).Select();
                Если СокрЛП(НовыйДокумент.Shapes.Item(Индекс).TextFrame.TextRange.Text) = "фыва" Тогда
                    НовыйДокумент.Shapes.Item(Индекс).TextFrame.TextRange.Text = "Ж";
                КонецЕсли;
            Исключение
                
            КонецПопытки;
            
        КонецЦикла;
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.