Имя: Пароль:
1C
1C 7.7
v7: Работа с шаблоном МС Ворд
0 palpetrovich
 
28.04.20
19:04
Подскажите нубу, что нужно сделать с шаблоном, что-бы вместо "Компания" в ворде была надпись "Рога и копыта"

в 1с:
пИсточник = "D:\111.dot";
ворд.Documents.Add(пИсточник);
док = ворд.ActiveDocument;
док.Bookmarks("Компания").Range.Text = "Рога и копыта";

в ворде - тупо надпись Компания

получаю
Microsoft Word: Запрашиваемый номер семейства не существует.
1 palpetrovich
 
28.04.20
19:13
+(0) есть ли вменяемая инструкция по добавлению в шаблон таких вот надписей?
2 HawkEye
 
28.04.20
19:15
(0) Bookmarks - это закладка, а не "тупо надпись"..
3 palpetrovich
 
28.04.20
19:24
(2) Вот спасибо!  я знал что помощь близко :)
4 АгентБезопасной Нацио
 
28.04.20
19:37
док.ActiveDocument.Bookmarks("Компания") ?
ну или как вариант - поля-переменные, и      
док.ActiveDocument.Variables.Add("Компания",стрИмяКОмпании)
5 Злопчинский
 
29.04.20
00:23
а можно тупо контекстной заменой в ворде пишешь
%компания%, а потом заменяешь изпод1с
6 KoZuB
 
29.04.20
01:14
Документ=WordApp.ActiveDocument;
Документ.Bookmarks("ДатаНакладной").Select();
WordApp.Selection.Text = Формат(ДатаДок,"ДДММГГГГ");

Работает. Проблем не было.
7 victuan1
 
29.04.20
05:33
Макрос пишешь в ворде, ручками выполняешь нужные действия, а потом анализируешь полученный код в Бейсике и переносишь его в 1С.
8 victuan1
 
29.04.20
05:34
Или это только в Экселе есть?
9 ADirks
 
29.04.20
07:42
(0) как сообщил Злопчинский, в ворде самый лучший метод - замена шаблона

Процедура Replace(Text, Val Replacement, toUpper = 0) Экспорт
    If toUpper = 1 Then
        Replacement = Upper(Replacement);
    EndIf;
    
    wdReplaceAll = 2;
    
    _Find = Book.Range().Find;
    _Find.Execute(Text, -1, -1, 0, 0, 0, -1,,, Replacement, wdReplaceAll);
КонецПроцедуры
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.