Hola. Trabajo con un formulario que necesita actualizar un número de control cada vez que imprimo, necesitaría alguna rutina que lo incremente en 1 o al menos pregunte si deseo actualizarlo en caso que la impresora lo haya copiado mal. Muchas gracias.
1 Respuesta
Respuesta de fejoal
1
1
fejoal, Por falta de tiempo para responder como me gusta hacerlo suspendo...
Hay un par de alternativas para resolver tu pregunta. Ambas requieren de programación en Visual Basic. Por ejemplo, la siguiente Macro guarda en una celda (V1 en este caso) las cantidad de impresiones correctas. La macro imprime la hoja actual y pregunta al usuario si la impresión fue correcta. Si contesta que No, dará la posibilidad a que vuelva a imprimir. Activa el editor de Visual Basic (presiona Alt+F11), inserta un nuevo módulo ("Insertar", "´Modulo") y pega el siguiente código: Sub PRNOK() 10: ActiveSheet.PrintOut Mensaje = "¿La impresión fue correcta?" Estilo = vbYesNo + vbCritical Título = "IMPRESION OK" Respuesta = MsgBox(Mensaje, Estilo, Título) If Respuesta = vbYes Then ActiveSheet.Range("V1").Value = ActiveSheet.Range("V1").Value + 1 Else Mensaje = "¿Desea volver a imprimir?" Estilo = vbYesNo + vbQuestion Título = "REINTENTA IMPRESION?" Respuesta = MsgBox(Mensaje, Estilo, Título) If Respuesta = vbYes Then GoTo 10 End If End Sub Cierra el editor de Visula basic y guarda tu archivo. Recuerda que para mantener el contador, debes guardar el archivo una vez finalizado los procesos de impresión. (También podrías incluirlo adentro de la macro, pero haría más lenta su ejecución) Aquellas impresiones que se hagan "a mano" no serán incluidas en este contador, a menos que asocies la macro a un evento, como por ejemplo: Workbook_BeforePrint Este código funciona bien en las pruebas que le realicé. Fíjate si funciona para ti. Un abrazo! Fernando
En virtud del tiempo invertido en este problema, realmente, estoy interesado en saber si te sirvió. ¿Tuviste oportunidad de probarlo? Coméntame y/o, simplemente, finaliza esta pregunta pendiente. (Otros pueden beneficiarse con esto)