Имя: Пароль:
1C
Админ
COMОбъект("WORD.Application Execute
0 igor1980
 
13.09.11
16:25
//Создаем новый объекта типа Word.Application
WordApplication = Новый COMОбъект("WORD.Application");
НовыйДокумент = WordApplication.Documents.Add("C:\Documents and Settings\TEMP\Рабочий стол\9999\Word.doc");
   
//Готовимся к поиску
ЗаменаКонтента = НовыйДокумент.content.Find;
   
ЗаменаКонтента.Execute("VVV",Ложь,Истина,Ложь,,,Истина,,Ложь,"++++++++");
   ЗаменаКонтента.Execute("GGG",Ложь,Истина,Ложь,,,Истина,,Ложь,"++++++++");
   
// Открываем документ
WordApplication.Visible = Истина;


Два одинаковые закладки в Ворде.
Одна меняется на замену, вторая нет.
Где посмотреть синтаксис команды 'Execute'?
1 igor1980
 
13.09.11
16:27
Подскажите, почему вторая команда не отрабатывает.
2 only82
 
13.09.11
16:37
Selection.Find.ClearFormatting
   Selection.Find.Replacement.ClearFormatting
   Selection.Find.Text = "VVV"
   Selection.Find.Replacement.Text = "++++++++"
   Selection.Find.Forward = True
   Selection.Find.Wrap = wdFindContinue
   Selection.Find.Format = False
   Selection.Find.MatchCase = False
   Selection.Find.MatchWholeWord = False
   Selection.Find.MatchWildcards = False
   Selection.Find.MatchSoundsLike = False
   Selection.Find.MatchAllWordForms = False
   Selection.Find.Execute Replace:=wdReplaceAll
3 aleks-id
 
13.09.11
16:38
(1) потому что курсор перемещается после поиска VVV на строки, после которой GGG уже не встречается. ищи как переместить курсор в начало
4 only82
 
13.09.11
16:39
Вторая команда не отрабатывает потому что надо использовать ClearFormatting
5 igor1980
 
13.09.11
17:32
Всем Спасибо.
Может кому понадобится тест без мелких иголочек -

+ Code
   //Создаем новый объекта типа Word.Application

   WordApplication = Новый COMОбъект("WORD.Application");
   КомОбъект_Application = WordApplication.Documents.Add("C:\Documents and Settings\TEMP\Рабочий стол\9999\Word.doc");
   Параметры = новый СписокЗначений;
   Параметры.Добавить("WWW", "*****");
   Параметры.Добавить("GGG", "ГГГГГ");
   Параметры.Добавить("VVV", "ВВВВВВВВ");
   
   Попытка
   
       wdReplaceNone = 00000000;
       wdReplaceOne  = 00000001;
       wdReplaceAll  = 00000002;
       
       Selection = КомОбъект_Application.Content;
       
       Selection.Find.ClearFormatting();
       Selection.Find.Replacement.ClearFormatting();
       
       Selection.Find.Forward = True;
       //Selection.Find.Wrap = wdFindContinue;


       Selection.Find.Format = False;
       Selection.Find.MatchCase = False;
       Selection.Find.MatchWholeWord = False;
       Selection.Find.MatchWildcards = False;
       Selection.Find.MatchSoundsLike = False;
       Selection.Find.MatchAllWordForms = False;

       Для каждого п Из Параметры Цикл
       
           Selection.Find.Text = п.Значение;
           Selection.Find.Replacement.Text = п.Представление;
           Selection.Find.Execute(, , , , , , , , , ,wdReplaceAll);
           
       КонецЦикла;
       Selection.Find.Text = "";
       Selection.Find.Replacement.Text = "";
       
       Selection.Find.ClearFormatting();
       Selection.Find.Replacement.ClearFormatting();
   
   Исключение
       Сообщить(ОписаниеОшибки());
   КонецПопытки;