Como posso imprimir 20 documentos individuais do Word de uma só vez?

5

Eu preciso imprimir 20 documentos individuais do Word. Não quero abrir cada um deles e clique em Imprimir .

Posso de alguma forma imprimir tudo de uma vez?

    
por engineerchuan 03.01.2013 / 18:50

6 respostas

7

No Windows, você pode selecionar vários arquivos com o botão direito do mouse e escolher imprimir e ele imprimirá tudo o que você selecionou

noentanto,comomeuteste,elesófuncionacomaté15documentosdecadavez(euachoqueéparaevitarumacatástrofeacidental,imprimindoapastaerrada.)

    
por 03.01.2013 / 19:13
2

Estou pensando que isso é mais do que uma necessidade única (do contrário, você pode usar a interface do usuário 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

Precisamos 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 tem código de exemplo para ler um diretório.

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

    
por 03.01.2013 / 19:55
1

Que tal juntar alguns comandos shell e enviar cada arquivo para a impressora individualmente?

Ou até mesmo:

 lpr *.doc

Combinar arquivos Microsoft * .doc não é realmente possível da maneira que você deseja fazer. Isso se deve a todas as informações do cabeçalho do documento no topo de cada arquivo.

    
por 03.01.2013 / 18:55
0

Imprimo todos os documentos (normalmente até 30-32 documentos) de uma só vez a partir de uma pasta, selecionando todos eles e, em seguida, clique com o botão direito do mouse e selecione imprimir. Isso envia para impressora padrão com configurações atuais da impressora e configurações atuais de cada arquivo. Isso foi possível usando o Windows XP Professional, com o MS Word 2003. Agora estamos mudando para o Windows 7 e eu preciso descobrir uma nova maneira e notei que o limite de arquivo é 15 (se você selecionar mais de 15, "imprima todos "não está disponível no menu R-click), que então você não pode simplesmente clicar em imprimir e deixar o computador para fazer outra coisa, você tem que esperar até que tudo seja impresso e faça novamente. Além disso, a eficiência com a qual o Windows XP e o MSW 2003 abriram um documento e foi enviada para impressão é muito melhor do que o Windows 7 (mas eu estava executando 7 de um programa MAC Parallels).

Também notei que, se eu abrir uma janela do Word em branco e redimensioná-la para o retângulo mínimo na área de trabalho (isso não é minimizá-la na barra de status) antes de enviar vários arquivos para impressão, eficiência do Word com abertura, envio e fechamento de cada arquivo foi aumentado.

    
por 07.05.2014 / 20:36
0

Esta é uma macro que permite especificar uma pasta e imprimir todos os arquivos de palavras dentro dessa 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
    
por 18.09.2017 / 10:32
0

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

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

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

Espero que isso poupe o problema de usar uma macro.

    
por 20.03.2018 / 16:39