Имя: Пароль:
1C
 
Word в очередной раз
0 NY152
 
14.05.07
11:04
Вопрос такой:
необходимо
1.найти определенное слово в документе ворда,
2.выделить строку таблицы, в которой оно находится
3.скопировать эту строку
4.добавить такую же строку в таблицу

кто-нибудь знает, как это сделать?
1 Смотри объект range
 
14.05.07
11:18
в Worde
2 NY152
 
14.05.07
11:20
(2)из 1С
3 Гость_1С
 
14.05.07
12:43
Создай макрос и посмотри как это делается
4 NY152
 
14.05.07
12:45
(3) )а как создать макрос?
основной вопрос в том, как выделить и скопировать строку таблицы после того, как найдено слово
5 Гость_1С
 
14.05.07
12:49
в Ворде. Сервис-макрос-начать запись
6 Гость_1С
 
14.05.07
12:49
Selection.Find.ClearFormatting
   With Selection.Find
       .Text = "1"
       .Replacement.Text = ""
       .Forward = True
       .Wrap = wdFindContinue
       .Format = False
       .MatchCase = False
       .MatchWholeWord = False
       .MatchWildcards = False
       .MatchSoundsLike = False
       .MatchAllWordForms = False
   End With
   Selection.Find.Execute
   Selection.Table.Select
   Selection.Copy
7 NY152
 
14.05.07
12:51
(6) Вот! Selection.Table.Select -
Будет выделяться именно строка таблицы?
8 WickeD
 
14.05.07
12:56
а как средствами 1С открыть вордовский документ в режиме ТОЛЬКО ЧТЕНИЕ?
9 Гость_1С
 
14.05.07
12:56
Вся таблица. Это просто пример
10 NY152
 
14.05.07
13:01
(9) в документе известны только параметры, которые в таблице
+таблиц несколько
зная параметр, можно его найти
но как получить строку таблицы, вот это не ясно
11 smaharbA
 
14.05.07
13:05
Пита нехвотает очень...
12 smaharbA
 
14.05.07
13:16
(10)

поиск = Док.Range.Find;
поиск.Execute (2);
Если поиск.Found=-1 Тогда
 ранж = поиск.Parent;
 Если ранж.Tables.Count>0 Тогда
   ранж.Rows.Select();
 КонецЕсли;
КонецЕсли;
13 NY152
 
14.05.07
13:22
(12) Спасибо, сейчас попробую.
14 NY152
 
14.05.07
13:34
(12) на строчку "поиск = Док.Range.Find" ругается, как определяется ранж?
15 NY152
 
14.05.07
13:41
(12)
Word = Новый COMОбъект("Word.Application");
Word.Documents.Open(ИмяФайла);
Док = Word.ActiveDocument();

Так? И допустим в строчке какой-то таблицы параметр "Параметр1"
16 NY152
 
14.05.07
13:46
А дальше не знаю, как
17 smaharbA
 
14.05.07
14:58
(15)(16)
Word = Новый COMОбъект("Word.Application");
Док=Word.Documents.Open(ИмяФайла);
поиск = Док.Range.Find();
поиск.Execute ("Параметр1");
Если поиск.Found=-1 Тогда
 ранж = поиск.Parent;
 Если ранж.Tables.Count>0 Тогда
   ранж.Rows.Select();
 КонецЕсли;
КонецЕсли;
18 NY152
 
14.05.07
15:26
(17)
Ну не знаю...
Пишет:
Поле объекта не обнаружено (Range)
поиск = Doc.Range.Find();
19 NY152
 
14.05.07
15:33
(8)
Насколько я понимаю:
Word.Documents.Open(ref filename,, ref readOnly);
readOnly - установи в истину
20 smaharbA
 
14.05.07
15:39
Извиняюсь
Range()
21 NY152
 
14.05.07
15:49
(20) Класс! Спасибо, заработало ))
22 NY152
 
14.05.07
16:59
И последний вопрос )))
Как скопировать эту строку и добавить такую же новую в таблицу?
(20) подскажи, пожалуйста, час уже бьюсь безрезультатно
23 NY152
 
14.05.07
17:23
Все, уже не надо, спасибо ))