Seguendo il consiglio di Alex ho lasciato perdere e mi apro il report gestendo la stampa con Printout, ho però questo problema:
Dim strDefaultPrinter As String
strDefaultPrinter = Application.Printer.DeviceName '**registro la stampante predefinita sulla variabile
'***manda in stampa il primo report
On Error GoTo Handler_uno '***se in errore non far nulla perchè non c'è la stampante installata
CreateObject("WScript.Network").SetDefaultPrinter const_stampante_dove_stampare
DoCmd.OpenReport "r_q_Presenze_non_fatturate_raggruppata_senza_N_BAMBI_A5", acViewDesign, , , acHidden
DoCmd.SelectObject acReport, "r_q_Presenze_non_fatturate_raggruppata_senza_N_BAMBI_A5"
Reports![r_q_Presenze_non_fatturate_raggruppata_senza_N_BAMBI_A5]!etk_def.Visible = True
DoCmd.PrintOut
DoCmd.Close acReport, "r_q_Presenze_non_fatturate_raggruppata_senza_N_BAMBI_A5", acSaveNo
CreateObject("WScript.Network").SetDefaultPrinter strDefaultPrinter 'reimposto la predefinita
Handler_uno:
CreateObject("WScript.Network").SetDefaultPrinter strDefaultPrinter 'reimposto la predefinita
'***manda in stampa il secondo report
On Error GoTo Handler_due '***se in errore non far nulla perchè non c'è la stampante installata
CreateObject("WScript.Network").SetDefaultPrinter const_stampante_dove_stampare '********qui ho l'errore
DoCmd.OpenReport "r_q_Presenze_non_fatturate_raggruppata_senza_N_EDU_A5", acViewDesign, , , acHidden
DoCmd.SelectObject acReport, "r_q_Presenze_non_fatturate_raggruppata_senza_N_EDU_A5"
Reports![r_q_Presenze_non_fatturate_raggruppata_senza_N_EDU_A5]!etk_def.Visible = True
DoCmd.PrintOut
DoCmd.Close acReport, "r_q_Presenze_non_fatturate_raggruppata_senza_N_EDU_A5", acSaveNo
CreateObject("WScript.Network").SetDefaultPrinter strDefaultPrinter 'reimposto la predefinita
Handler_due:
CreateObject("WScript.Network").SetDefaultPrinter strDefaultPrinter 'reimposto la predefinita
in un modulo ho una costante const_stampante_dove_stampare dove è registrato il nome della stampante su cui voglio stampare
all'inizio mi registro in una variabile la stampante predefinita
se c'è un errore (quindi non trova la stampante della costante) vai all'Handler_xxx
ho un errore sulla linea
CreateObject("WScript.Network").SetDefaultPrinter const_stampante_dove_stampare '********qui ho l'errore
errore run time 440 nessuna stampante con nome .....
ma non dovrebbe andare all'Handler_due in caso di errore? il primo step (quello riferito al primo report) lo passa tranquillamente