Como posso imprimir 20 documentos Word individuais de uma vez?

Como posso imprimir 20 documentos Word individuais de uma vez?

Preciso imprimir 20 documentos individuais do Word. Não quero abrir cada um e clicarImprimir.

Posso de alguma forma imprimir tudo de uma vez?

Responder1

No Windows você pode selecionar vários arquivos, clique com o botão direito e escolha imprimir e imprimirá tudo o que você selecionou

insira a descrição da imagem aqui

no entanto, com meus testes, ele só funciona com até 15 documentos por vez (acho que é para evitar uma catástrofe acidental imprimindo a pasta errada).

insira a descrição da imagem aqui

Responder2

Estou pensando que isso é mais do que uma necessidade única (caso contrário, você pode usar a interface do Windows para selecionar vários documentos, clicar com o botão direito e escolher imprimir).

Uma macro seria aceitável? Aqui está o código básico necessário para abrir e imprimir um documento do Word a partir de uma macro:

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

Precisaríamos escrever um loop para imprimir todos os documentos que você deseja. Se os documentos que você deseja imprimir forem todos os documentos de uma determinada pasta, poderíamos fazer isso também. A Microsoft temcódigo de exemplopara ler um diretório.

Se você quiser imprimi-los em uma programação por algum motivo, suponho que você possa fazer o arquivo que contém a macro executá-lo com AutoOpen e até mesmo fechar quando terminar e apenas agendar esse arquivo habilitado para macro para ser aberto através do Agendador de Tarefas.

Responder3

Sei que esta é uma pergunta antiga, mas não vi a resposta que uso aqui.

Você pode usar a opção de clicar com o botão direito no shell do Windows Explorer para imprimir vários documentos. Normalmente tem um limite de 15 documentos; no entanto,esse limite pode ser alterado no registro. Aqui está o valor a ser modificado para o limite necessário:

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

Esperançosamente, isso poupa alguém do trabalho de usar uma macro.

Responder4

Esta é uma macro que permite especificar uma pasta e imprimirá todos os arquivos de texto dentro desta pasta, incluindo as subpastas.

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

informação relacionada