1

Тема: Печать текущей страницы без лишних вопросов

Приветствую! Помогите с такой затеей..)
Имеется много вордовских файлов, из которых нужно распечатать подходящие мне страницы. Пролистывать и записывать нужные, а потом набирать их в диалоге печати долго и нудно.
Задача: как распечатать страницу "под курсором" (а не весь документ!) без всяких вопросов и подтверждений.
-----------------
Спасибо.

2

Re: Печать текущей страницы без лишних вопросов

а что на запись макрос поставить и указать текущую не прёт??

3

Re: Печать текущей страницы без лишних вопросов

попутно хотел спросить:
примерно с год была в коде перед отправкой на печать запись:

 'не выводить сообщение при печати текста
    Application.DisplayAlerts = wdAlertsNone 

с сегодняшнего для стало спрашивать, поля выходят за пределы .., продолжить, отвечаю да!!
С чего вдруг стало спрашивать, как избавиться???
Спасибо

4

Re: Печать текущей страницы без лишних вопросов

Макрос получился вот такой:

Sub Печать()
'
' Печать Макрос
'
'
    Windows("[b]ОСН_Практика.docx[/b]").Activate
    Application.WindowState = wdWindowStateNormal
    Windows("Документ Microsoft Word.docx").Activate
    ActiveWindow.Panes(2).Activate
    Application.PrintOut FileName:="", Range:=wdPrintCurrentPage, Item:= _
        wdPrintDocumentWithMarkup, Copies:=1, Pages:="", PageType:= _
        wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False, _
        PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
        PrintZoomPaperHeight:=0
End Sub

Если запустить этот макрос под другим док-том, то, естесно, ошибка:
Run-time error '5941':
Запрашиваемый номер семейства не существует.

Как сделать, чтобы не было привязки к конкретному документу??

5

Re: Печать текущей страницы без лишних вопросов

Добавьте строку
File_Name = ActivateDcument.FullName
' Полное имя активного документа, также можно использовать значение File_Name получая его от пользователя или программным кодом, тогда
Application.PrintOut FileName:=File_Name, Range:=wdPrintCurrentPage, Item:= _
        wdPrintDocumentWithMarkup, Copies:=1, Pages:="", PageType:= _
        wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False, _
        PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
        PrintZoomPaperHeight:=0

6

Re: Печать текущей страницы без лишних вопросов

File_Name = ActivateDocument.FullName

7

Re: Печать текущей страницы без лишних вопросов

aap77, спасибо, но так и не понял, куда строку втиснуть..))  wink  дуб-ясень...
Получилось так:

Sub Печать()
'
' Печать Макрос
'
'
    Application.PrintOut FileName:="", Range:=wdPrintCurrentPage, Item:= _
        wdPrintDocumentWithMarkup, Copies:=1, Pages:="", PageType:= _
        wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False, _
        PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
        PrintZoomPaperHeight:=0
End Sub

Печатает страницу под курсором без вопросов.

8

Re: Печать текущей страницы без лишних вопросов

File_Name = ActivateDcument.FullName
Application.PrintOut FileName:=File_Name.............