+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 2 su 2

Discussione: settare dimensione foglio stampa da vba per stampante non predefinita

  1. #1
    L'avatar di muttley005
    muttley005 non è in linea Scribacchino
    Post
    1,926

    settare dimensione foglio stampa da vba per stampante non predefinita

    Ciao,
    scusate il titolo ma non mi è venuto nulla di meglio.

    Devo stampare delle etichette su una etichettatrice variabile, per cui ho impostato nella form di settaggio del programma (gestito da un utente "admin") la possibilità di selezionare quale stampante settare.

    Premesso questo, ho il mio report "myLABEL" che non devo stampare sulla predefinita ma su quella selezionata da impostazioni per cui:

    codice:
    'recupero info stampante etichette
        NomeStamp = Nz(DLookup("LabelPrinter", "dbo_ST_SETUP"), vbNullString)
    'controlli vari
    ...
    'stampo
        R="myLABEL"
        DoCmd.OpenReport R, acViewPreview, , , acHidden, msg 'msg è un parametro che mi serve dentro al report
        Reports(R).Printer = Application.Printers(NomeStamp)
        DoCmd.OpenReport R, acViewNormal
        DoCmd.Close acReport, R, acSaveNo
    ora il problema è che mi cambia la dimensione del foglio
    (imposta pagina - pagina - foglio - dimensioni)
    da 30321 Large Address
    a 30320 Address
    sfasandomi la stampa
    per cui pensavo di aggiungere
    codice:
            Reports(R).Printer.PaperSize = ... qualcosa
    ma non so cosa ... ho fatto delle prove ma non mi pare che ci siano cambiamenti
    sbaglio qualcosa? devo usare altre specifiche?

  2. #2
    L'avatar di muttley005
    muttley005 non è in linea Scribacchino
    Post
    1,926
    scusate ci si poteva arrivare subito ...
    bastava sfruttare la benedetta mai abbastanza finestra di controllo immediata
    In pratica ho impostato tutto come dovrebbe essere (margini, dimensione foglio, stampante specifica, ...) e guardare dalla finestra suddetta i valori da attribuire,
    reimpostare tutto come di default ed impostare il VBA
    questo il risultato:
    codice:
    
    
        DoCmd.OpenReport myReport, acViewPreview, , , acHidden, msg
        Reports(myReport).Printer = Application.Printers(NomeStamp)
        
        With Reports(myReport).Printer
            .TopMargin = 322
            .BottomMargin = 86
            .LeftMargin = 86
            .RightMargin = 58
            .DefaultSize = False
            .ItemSizeHeight = 4536
            .ItemSizeWidth = 1843
            .PaperSize = 203 'Large Address
        End With
        DoCmd.OpenReport myReport, acViewNormal
    
        DoCmd.Close acReport, myReport, acSaveNo

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi