Имя: Пароль:
1C
1С v8
Перевод синтаксиса с++ в 1С
0 sv201
 
07.07.13
18:49
Добрый день

ссылка на сайт: http://www.cyberforum.ru/cpp-builder/thread234391.html
и сам синтаксис

tagVARIANT a = (OleVariant) 2;//номер автофигуры
WordApplication1->ActiveWindow->ActivePane->View->SeekView = wdSeekCurrentPageHeader;//активируем колонтитул
WordApplication1-> Selection->HeaderFooter->Shapes->Item(&a)->Select();//выделяем автофигуру
TVariant strFindFor = "~№";//метка - текст в автофигуре
TVariant strReplaceWith = "111";//на что заменяем
WordApplication1->Selection->Find->Execute(strFindFor,EmptyParam, EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam, EmptyParam, strReplaceWith,
(TVariant)wdReplaceAll,EmptyParam, EmptyParam, EmptyParam, EmptyParam);


Начало я уже составил, помогите закончить

   word = Новый COMОбъект("Word.Application");
   word.Visible = Истина;
   
   ШаблонОтчета         = АттЦентр.ШаблонУдостоверения.Хранилище.Получить();
   МестоХраненияШаблона ="путь";
   путьКфайлуШаблона    = МестоХраненияШаблона+"Шаблон удостоверения"+".doc";
   
   ШаблонОтчета.Записать(путьКфайлуШаблона);
   
   word.Documents.Open(путьКфайлуШаблона);
   word.visible=истина;
   word.Activate();
   Документ=word.Application.Documents(1);
   Документ.Activate();
   СчетчикЦикла = 0;
   КолВоНадписей = Документ.Shapes.Count;
   Для СчетчикЦикла = 1 По КолВоНадписей Цикл
       
       мНашлиАФ = Документ.Shapes.Item(СчетчикЦикла).Select();
       мНашлиАФ.Selection.Find.Execute("[мк1]",0,0,,,,,,,"новый текст",2); Не РАБОТАЕТ??????
       
   КонецЦикла;
1 sv201
 
07.07.13
23:05
?
2 mikecool
 
07.07.13
23:09
хз, что у тебя там не работает
может работает??????
3 sv201
 
07.07.13
23:09
мНашлиАФ.Selection.Find.Execute("[мк1]",0,0,,,,,,,"новый текст",2);
4 sv201
 
07.07.13
23:50
СчетчикЦикла = 0;
   КолВоНадписей = Документ.Shapes.Count;
   Для СчетчикЦикла = 1 По КолВоНадписей Цикл
       
       мНашлиАФ = Документ.Shapes.Item(СчетчикЦикла);

       мНашлиАФ.TextFrame.Application.Selection.Find.Execute("[мк1]",Ложь,Истина,Ложь,,,Истина,,Ложь, "текст замены",2);
     
   КонецЦикла;

Но если я вставляю еще одну замену почему то уже не работает а с одной все хорошо
5 МихаилМ
 
07.07.13
23:50
никогда не используйте Selection

обращайтесь к конкретному renge.

на данном этапе развития модели мс офис (>=2007) renge  
всегда можно получить (вычислить) без Selection.
6 sv201
 
07.07.13
23:50
выше указанный синтаксис срабатывает но только делает одну замену
7 sv201
 
08.07.13
00:03
(5) если смотреть через отладчик то почему то TextRange не доступен из чего может быть?

Документ.Shapes.Item(СчетчикЦикла).TextFrame.TextRange
Ошибка чтения значения
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший