Приветствую, коллеги! Встал такой вопрос: есть шаблон в вордовском файле, который заполняется средствами 1С. Файл состоит из нескольких страниц. Мне нужно скопировать последнюю страницу несколько раз. Как это можно сделать?

```1c
    WordП = Новый COMОбъект ("Word.Application");
    WordП.Documents.Open (АдресШаблона);
    ДокументП = WordП.Application.Documents(1);
    WordП.DisplayAlerts=False;
    ДокументП.Activate();
```
---
Выделить страницу в ворде - не совсем тривиальная задача, решения приходится искать на англоязычных сайтах.

например, комбинируем переход в конец документа

```1c
    Selection.EndKey Unit:=wdStory
```
 что в 1С будет выглядеть как

```1c
    ДокументП.Selection.EndKey(6);
```

и выделение текущей страницы с остальными действиями

```1c
    ДокументП.Bookmarks("\page").Range.Select; // выделение текущей страницы
    ДокументП.Selection.Copy; // копируем выделение
    ДокументП.Selection.EndKey(6); // снова в конец
    ДокументП.Selection.InsertBreak(7); // wdPageBreak=7 - разрыв страницы
    ДокументП.Selection.EndKey(6); // снова в конец
    ДокументП.Selection.PasteAndFormat(16); // wdFormatOriginalFormatting=16 - вставляем
```
Побочный эффект - в буфере обмена может остаться последняя страница вместо того, что было.

Второй способ - заранее сделать закладку в последней страницы шаблона и работать дальше с ней. В Word'e предусмотрено создание так называемых закладок (читай — переменных). Эти закладки можно присваивать любым кускам текста или числам и далее использовать их в полях (совсем как в нормальном языке программирования).
Выделите диапазон и нажмите <Ctrl>+<Shift>+<F5> — появится окно редактирования закладок (его можно вызвать также через меню "Вставка" –> "Закладка").
 С букмарками не работал, но думаю, что будет аналогично, типа

```1c
    ДокументП.Bookmarks("myBookmark").Range.Select;
```
---
https://infostart.ru/public/488556/

Upd

Selection.TypeText Text:=Selection.Range.ComputeStatistics(wdStatisticLines)

Только вычислять количество строк, количество страниц, получать области и печатать
---
там нет ответа на мой вопрос. Заполнить шаблон параметрами я могу, но не получается скопировать определенную страницу в ворде...
---
http://infostart.ru/public/67727/
http://infostart.ru/public/68072/
Посмотрите здесь, тут выделение есть, или просто в поиске по публикациям поищите статью, что то типо несколько макетов в одном документе Word
---
Выделить страницу в ворде - не совсем тривиальная задача, решения приходится искать на англоязычных сайтах.

например, комбинируем переход в конец документа

```1c
    Selection.EndKey Unit:=wdStory
```
 что в 1С будет выглядеть как

```1c
    ДокументП.Selection.EndKey(6);
```

и выделение текущей страницы с остальными действиями

```1c
    ДокументП.Bookmarks("\page").Range.Select; // выделение текущей страницы
    ДокументП.Selection.Copy; // копируем выделение
    ДокументП.Selection.EndKey(6); // снова в конец
    ДокументП.Selection.InsertBreak(7); // wdPageBreak=7 - разрыв страницы
    ДокументП.Selection.EndKey(6); // снова в конец
    ДокументП.Selection.PasteAndFormat(16); // wdFormatOriginalFormatting=16 - вставляем
```
Побочный эффект - в буфере обмена может остаться последняя страница вместо того, что было.

Второй способ - заранее сделать закладку в последней страницы шаблона и работать дальше с ней. В Word'e предусмотрено создание так называемых закладок (читай — переменных). Эти закладки можно присваивать любым кускам текста или числам и далее использовать их в полях (совсем как в нормальном языке программирования).
Выделите диапазон и нажмите <Ctrl>+<Shift>+<F5> — появится окно редактирования закладок (его можно вызвать также через меню "Вставка" –> "Закладка").
 С букмарками не работал, но думаю, что будет аналогично, типа

```1c
    ДокументП.Bookmarks("myBookmark").Range.Select;
```