Preblema para seleccionar impresora para imprimir.
Publicado por Manuel (1 intervención) el 02/09/2013 12:04:07
Buenos días y gracias de antemano, mi problema radica en un programa que simplemente se ejecuta periódicamente con un timer y cuando en la carpeta que esta ejecutándose se descarga un archivo PDF con un nombre predeterminado quiero que lo imprima usando una impresora (impresora de tickets) y cuando se descargue un archivo PDF con otro nombre concreto lo imprima por la impresora A4.
Trabajo con AcroPDF para la impresión de los PDF y el problema viene cuando selecciono la impresora o la predetermino, la primera impresión la hace correcta, a la impresora que yo le mande, pero las siguientes impresiones melas realiza siempre desde esa misma impresora por mucho que yo por código lo intente cambiar. De hecho compruebo que la impresora predeterminada también la cambio, y no me hace caso y sigue imprimiendo por la impresora por la que saco la primera copia.
Resumen del código dentro del Timer:
FileName = Dir(App.Path & "\print_tck*.pdf*")
If FileName <> "" Then
'Seleccionar nombre impresora
NombreImpresora = "Impresora_TCK"
'Predeterminar impresora
Set obj_Impresora = CreateObject("WScript.Network")
obj_Impresora.setdefaultprinter NombreImpresora
Set obj_Impresora = Nothing
'Seleccionar impresora
For Each Prt In Printers
If InStr(Prt.DeviceName, NombreImpresora) > 0 Then
Set Printer = Prt
End If
Next
AcroPDF1.LoadFile App.Path & "\" & FileName
AcroPDF1.printall
Kill (App.Path & "\" & FileName)
End If
'IMPRIMIR LOS A4
FileName = Dir(App.Path & "\print_A4*.pdf*")
If FileName <> "" Then
'Seleccionar nombre impresora
NombreImpresora = "Impresora_A4"
'Predeterminar impresora
Set obj_Impresora = CreateObject("WScript.Network")
obj_Impresora.setdefaultprinter NombreImpresora
Set obj_Impresora = Nothing
'Seleccionar impresora
For Each Prt In Printers
If InStr(Prt.DeviceName, NombreImpresora) > 0 Then
Set Printer = Prt
End If
Next
AcroPDF1.LoadFile App.Path & "\" & FileName
AcroPDF1.printall
Kill (App.Path & "\" & FileName)
End If
Con este código solo me selecciona bien para la primera impresión,¿Alguna ayuda?
Un saludo
Trabajo con AcroPDF para la impresión de los PDF y el problema viene cuando selecciono la impresora o la predetermino, la primera impresión la hace correcta, a la impresora que yo le mande, pero las siguientes impresiones melas realiza siempre desde esa misma impresora por mucho que yo por código lo intente cambiar. De hecho compruebo que la impresora predeterminada también la cambio, y no me hace caso y sigue imprimiendo por la impresora por la que saco la primera copia.
Resumen del código dentro del Timer:
FileName = Dir(App.Path & "\print_tck*.pdf*")
If FileName <> "" Then
'Seleccionar nombre impresora
NombreImpresora = "Impresora_TCK"
'Predeterminar impresora
Set obj_Impresora = CreateObject("WScript.Network")
obj_Impresora.setdefaultprinter NombreImpresora
Set obj_Impresora = Nothing
'Seleccionar impresora
For Each Prt In Printers
If InStr(Prt.DeviceName, NombreImpresora) > 0 Then
Set Printer = Prt
End If
Next
AcroPDF1.LoadFile App.Path & "\" & FileName
AcroPDF1.printall
Kill (App.Path & "\" & FileName)
End If
'IMPRIMIR LOS A4
FileName = Dir(App.Path & "\print_A4*.pdf*")
If FileName <> "" Then
'Seleccionar nombre impresora
NombreImpresora = "Impresora_A4"
'Predeterminar impresora
Set obj_Impresora = CreateObject("WScript.Network")
obj_Impresora.setdefaultprinter NombreImpresora
Set obj_Impresora = Nothing
'Seleccionar impresora
For Each Prt In Printers
If InStr(Prt.DeviceName, NombreImpresora) > 0 Then
Set Printer = Prt
End If
Next
AcroPDF1.LoadFile App.Path & "\" & FileName
AcroPDF1.printall
Kill (App.Path & "\" & FileName)
End If
Con este código solo me selecciona bien para la primera impresión,¿Alguna ayuda?
Un saludo
Valora esta pregunta
0