Имя: Пароль:
1C
1С v8
word 1c замена текста
0 Domanoff26
 
14.08.13
10:01
Word = Новый COMОбъект("Word.Application");
Word.Visible = 0;
WordDoc = Word.Documents;
Docum = WordDoc.open("X:\IT\Общая\3.doc");
//rng=Docum.Range(2,4);
   Docum.Variables.Item("НомерСтроки").Value ="1";
  //Rng.InsertAfter("Текст");

Docum.SaveAs("X:\IT\Общая\1.doc");
   Docum.close();


с вордом только начинаю и думал что  Docum.Variables.Item("НомерСтроки").Value ="1"; и есть замена конкретного текста в файле, но это не работает,через конкретные номера символов работает(rng=Docum.Range(2,4);) но через номера символов не вариант, какие есть способы заменять все таки конкретные строки в вордовском файле?
1 DarKySiK
 
14.08.13
10:04
тут http://kb.mista.ru/article.php?id=452 смотрел?
2 Domanoff26
 
14.08.13
10:06
(1) насколько я понимаю это можно сделать только через макет? а через конкретный файл никак?
3 DarKySiK
 
14.08.13
10:06
(2) можно
4 Domanoff26
 
14.08.13
10:15
(3) почему может у меня это не работать (см код)? что не сделал?
5 DarKySiK
 
14.08.13
10:20
Скорее всего сам докeмент Word не правильно настроен: там точно  у вас  переменные добавлены а не обычный текст? В статье перед использованием метода с коллекцией Variables описано как добавить элементы в Word.
6 Domanoff26
 
14.08.13
10:32
(5) а эта переменная и должна никак не отображаться в самом документе?
7 DarKySiK
 
14.08.13
10:34
эм... там помойму нада alt + f9 нажать, чтобы оно отобразилось
8 dk
 
14.08.13
10:41
я через bookmarks делаю обычно
точно variables вставлял?
9 Domanoff26
 
14.08.13
10:44
(7) (8) получилось вставить только после отображения параметров перестало работать, стало вводить всю эту строку вместо замены((( нужно еще раз нажать alt + f9 чтобы отобразилось все нормально
10 DarKySiK
 
14.08.13
10:45
главное, чтобы у пользователя не был включен режим просмотра полей. Тогда у него все нормально будет)
11 Vovan1975
 
14.08.13
11:33
через Content.Find.Execute проще