Modificación de macro que imprime
Necesito modificar una macro que ud. Me creo para imprimir en una impresora matricial, Estoy usando la misma macro para imprimir en una impresora térmica y deseo que la impresora me imprima el mismo recibo dos veces consecutivamente porque no tienen copias. El asunto es que configure la impresora para que lo hiciera pero no lo hace al parecer es porque la macro tiene una protección luego de imprimir.
¿Cómo puedo hacer para que la macro permita imprimir dos veces antes de bloquearse?
Anexo macro
Saludos,
MG
Sub Imprimir() 'Por.DAM - If ActiveSheet.Name = "." Then Set h1 = ActiveSheet 'EM: QUITAR PARA QUE MUESTRE MENSAJE DE ARCHIVO EXISTE 'Application.DisplayAlerts = False Application.ScreenUpdating = False boton = True ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True num = Range("A9") ActiveSheet.Copy If ActiveSheet.ProtectContents Then ActiveSheet.Unprotect "gomez" End If h1.Range("E9").Copy Range("E9").PasteSpecial Paste:=xlValues ActiveSheet.Protect "gomez" 'em: si se presenta mensaje pasa a la línea de cierre y allí se permite guardar con otro nombre On Error Resume Next ActiveWorkbook.SaveAs _ Filename:="D:\CENTRO EDUCATIVO ADONAI\CARPETA DE FACTURA-25-26\" & num & ".xls", _ FileFormat:=xlNormal ActiveWorkbook.SaveAs _ Filename:="D:\CENTRO EDUCATIVO ADONAI\CARPETA DE FACTURA-24-25\" & num & ".xls", _ FileFormat:=xlNormal ActiveWorkbook.SaveAs _ Filename:="F:\CARPETA DE FACTURA\" & num & ".xls", _ FileFormat:=xlNormal ActiveWorkbook.Close True 'EM: SI SE CANCELA EL GUARDADO QUEDA COMO LIBRO ACTIVO y hay que forzar el cerrado. If Left(ActiveWorkbook.Name, 5) = "Libro" Then ActiveWorkbook.Close False End If ActiveSheet.Unprotect "gomez" Range("D5") = Range("D5") + 1 ActiveSheet.Protect "gomez" 'Application.DisplayAlerts = True Application.ScreenUpdating = True End If boton = False End Sub Sub printprev() 'Por.dam boton = True ActiveWindow.SelectedSheets.PrintPreview boton = False End Sub
1 respuesta
Respuesta de Toni Ortonoves