Как распечатать сразу 20 отдельных документов Word?

Мне нужно распечатать 20 отдельных документов Word. Я не хочу, чтобы открыть каждый и нажмите кнопку Print.

могу я как-то напечатать все сразу?

17
задан slhck
05.11.2022 13:43 Количество просмотров материала 3610
Распечатать страницу

6 ответов

в windows, вы можете выбрать несколько файлов щелкните правой кнопкой мыши и выберите печать, и он будет печатать все, что вы выбрали

enter image description here

однако это с моим тестированием он работает только с до 15 документов одновременно (я думаю, что это, чтобы предотвратить случайную катастрофу, печатая неправильную папку.)

enter image description here

7
отвечен Scott Chamberlain 2022-11-06 21:31

Я думаю, что это больше, чем просто один раз (в противном случае вы можете использовать пользовательский интерфейс Windows для выбора нескольких документов, щелкните правой кнопкой мыши и выберите печать).

макрос был бы приемлем? Вот основной код, необходимый для открытия и печати документа Word из макроса:

Sub PrintDocMacro()

Dim objWord As Object
Set objWord = CreateObject("Word.application") 'Start app
objWord.Documents.Open FileName:="c:\Temp\test.docx" 'Open doc
objWord.Visible = True
objWord.Application.PrintOut 'Print doc
objWord.ActiveDocument.Close savechanges:=True 'close & save doc
objWord.Application.Quit 'Close app
Set objWord = Nothing

End Sub

нужно написать цикл, чтобы распечатать все документы, которые вы хотите. Если документы, которые вы хотите напечатать все документы в определенной папке, мы могли бы сделать это. Корпорация Microsoft пример код для чтения каталога.

Если вы хотите распечатать их по расписанию по какой-то причине, я полагаю, вы могли бы сделать файл, содержащий макрос, запустить его с помощью AutoOpen и даже закрыть, когда это будет сделано, и просто запланировать открытие этого файла с поддержкой макросов через планировщик задач.

2
отвечен Dane 2022-11-06 23:48

что создание команд и отправки каждого файла на принтер по отдельности?

или еще:

 lpr *.doc

Объединение Microsoft *.doc файлы на самом деле не возможно в том, как вы хотите это сделать. Это из-за заголовка документа в верхней части каждого файла.

1
отвечен mdpc 2022-11-07 02:05

я печатаю все документы (обычно до 30-32 документов) сразу из папки, выбрав все из них, а затем R-нажмите и выберите печать. Отправляется на принтер по умолчанию с текущими настройками принтера и текущими настройками каждого файла. Это было возможно с помощью Windows XP Professional, с MS Word 2003. Теперь мы переходим на Windows 7, и мне нужно будет выяснить новый способ, и я заметил, что ограничение файла составляет 15 (если вы выберете более 15, "печать всех" недоступна в R-click меню), который затем вы не можете просто нажать на печать и оставить компьютер, чтобы сделать что-то еще, вы должны ждать, пока все печатные и сделать это снова. Кроме того, эффективность, с которой Windows XP и MSW 2003 открыли документ и отправили на печать, лучше, чем Windows 7 (но я запускал 7 из программы Mac Parallels).

Я также заметил, что если я открываю пустое окно Word и изменяю его размер до минимума прямоугольника на рабочем столе (это не сводит его к строке состояния), прежде чем я отправлено несколько файлов на печать, увеличена эффективность Word при открытии, отправке и закрытии каждого файла.

0
отвечен Abdullah Oz 2022-11-07 04:22

это макрос, который позволяет указать папку, и он будет печатать все файлы word внутри этой папки, включая подпапки.

Public optionCancel

Sub Print_word_files()
Dim path
Dim reminder As Integer
Dim oExtension As String
Dim Fso, oFolder, oSubfolder, oFile, queue As Collection

On Error Resume Next

path = " " //######################put files path here (ex: c:\users\myFiles) ################

If optionCancel = "yes" Then
optionCancel = "No"
Exit Sub
End If

reminder = MsgBox("Are you sure you want to print these files?", 4, "WARNING !!")

If reminder = 6 Then    'If Yes is clicked

Set Fso = CreateObject("Scripting.FileSystemObject")
Set queue = New Collection
queue.Add Fso.GetFolder(path) 'The path

Do While queue.Count > 0
Set oFolder = queue(1)
queue.Remove 1 'dequeue
'...insert any <<folder>> processing code here...
For Each oSubfolder In oFolder.subfolders
queue.Add oSubfolder 'enqueue
Next oSubfolder
For Each oFile In oFolder.Files

oExtension = Right(oFile, Len(oFile) - InStrRev(oFile, ".", -1)) 'gets the file extension

If oExtension = "docx" Or oExtension = "DOCX" Or oExtension = "doc" Or oExtension = "DOC" Or oExtension = "docm" Or oExtension = "DOCM" Or oExtension = "rtf" Or oExtension = "RTF" Then

Documents.Open FileName:=(oFile)

'-------------------The required starts here

ActiveDocument.PrintOut      'Prints document

ActiveDocument.Saved = True  'to prevent asking to save

ActiveDocument.Close         'Closes document

'-------------------The required ends here

End If

Next oFile

Loop

Else

MsgBox ("Operation cancelled!!")

End If

End Sub
0
отвечен ahmed 2022-11-07 06:39

Я понимаю, что это старый вопрос, но я не видел ответа, который я использую здесь.

вы можете использовать опцию Правой Кнопкой Мыши из оболочки Проводника Windows для печати нескольких документов. Обычно это имеет ограничение в 15 документов; однако,это ограничение может быть изменено в реестре. Вот значение, которое нужно изменить до нужного предела:

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer
Name : MultipleInvokePromptMinimum
Type : DWORD
Default : 15 (decimal)

надеюсь, это избавит кого-то от необходимости использовать макрос.

0
отвечен Daniel 2022-11-07 08:56

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх