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
