Имя: Пароль:
1C
1С v8
код VBA в 1с 8
,
0 pedagog
 
15.08.21
19:36
Sub макрос()

    With ActiveDocument.Range.find
        .Text = "Слово1"
        If .Execute = True Then
            .Parent.Collapse Direction:=wdCollapseEnd
            .Parent.Select
        End If
    End With

End Sub
Данный код VBA перемещает курсор после определенного слова (в данном примере Слово1).
как этот код написать на языке 1с при работе с макетом word?
1 Classic
 
15.08.21
19:44
А ты как с макетом работаешь?
Если через Application - то так же и сворачивай.
2 pedagog
 
15.08.21
19:48
Макет = ПолучитьМакет("ЮИ_ПриказWord");
    MSWord = Макет.Получить();
    Попытка
        Макет = MSWord.Application.Documents(1);
        Word = MSWord.Application;
        Selection = Word.Selection;
        Макет.Activate();
    Исключение
        Сообщить(ОписаниеОшибки());
        MSWord.Application.Quit();
        Возврат Ложь;
    КонецПопытки;
    Замена = Макет.Content.Find;
Вот так
3 pedagog
 
15.08.21
19:52
(1) а как "также"?
4 pedagog
 
15.08.21
20:14
уже голова закипает. не могу найти решение. помогите, кто знает
5 pedagog
 
15.08.21
20:20
метод Execute к какому объекту применяется?
6 acanta
 
15.08.21
20:25
Я уже смутно помню, но там имхо другая версия VBA.
7 pedagog
 
15.08.21
20:38
(((((((((((((((((((
8 Хосе
 
15.08.21
21:28
(7) чето ты рано сдался парниша, что не получилось?
ACtiveDocument - это MSWord.Application.Documents(1)? Отрабатывает?

    Иск = Макет.Range.find;
        Иск.Text = "Слово1"
        If Иск.Execute = True Then

            Иск.Parent.Collapse(,,wdCollapseEnd); // Direction:=wdCollapseEnd //Тут нужно позицию Direction в методе найти и подставить ее значение
            Иск.Parent.Select
        End If

Что-то типа этого навскидку