¿Cómo puedo imprimir 20 documentos de Word individuales a la vez?

¿Cómo puedo imprimir 20 documentos de Word individuales a la vez?

Necesito imprimir 20 documentos de Word individuales. No quiero abrir cada uno y hacer clicImprimir.

¿Puedo imprimir de alguna manera todo a la vez?

Respuesta1

En Windows, puede seleccionar varios archivos, haga clic derecho y elija imprimir y se imprimirá todo lo que seleccionó.

ingrese la descripción de la imagen aquí

sin embargo, según mis pruebas, solo funciona con hasta 15 documentos a la vez (supongo que es para evitar una catástrofe accidental al imprimir la carpeta incorrecta).

ingrese la descripción de la imagen aquí

Respuesta2

Estoy pensando que esto es más que una necesidad única (de lo contrario, puede usar la interfaz de usuario de Windows para seleccionar varios documentos, hacer clic derecho y elegir imprimir).

¿Sería aceptable una macro? Este es el código básico necesario para abrir e imprimir un documento de Word desde una 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

Necesitaríamos escribir un bucle para imprimir todos los documentos que desee. Si los documentos que desea imprimir son todos los documentos de una carpeta determinada, también podríamos hacerlo. Microsoft tienecódigo de ejemplopara leer un directorio.

Si desea imprimirlos según una programación por algún motivo, supongo que podría hacer que el archivo que contiene la macro se ejecute con AutoOpen e incluso cerrarlo cuando haya terminado y simplemente programar ese archivo habilitado para macros para que se abra a través del Programador de tareas.

Respuesta3

Me doy cuenta de que esta es una pregunta antigua, pero no vi la respuesta que uso aquí.

Puede utilizar la opción de clic derecho desde el shell del Explorador de Windows para imprimir varios documentos. Normalmente esto tiene un límite de 15 documentos; sin embargo,ese límite se puede cambiar en el registro. Aquí está el valor para modificar según el límite necesario:

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

Con suerte, eso le ahorrará a alguien la molestia de usar una macro.

Respuesta4

Esta es una macro que le permite especificar una carpeta e imprimirá todos los archivos de Word dentro de esta carpeta, incluidas las subcarpetas.

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

información relacionada