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

Discussione: stampare su stampante non predefinita da vba

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

    stampare su stampante non predefinita da vba

    Ciao, devo stampare un report su una stampante specifica settabile da programma... in sostanza sono etichette 4,7x3,5.
    Pensavo di poter usare questo:

    codice:
        NomeStamp = "miaEtichettatrice"
        DoCmd.OpenReport "mioReport", acViewPreview, , "mioFiltro", acHidden
        Reports("mioReport").Printer = Application.Printers(NomeStamp)
        DoCmd.PrintOut
    Ma continua a stampare sulla predefinita ... cosa sbaglio?

    M.

  2. #2
    L'avatar di @Alex
    @Alex non è in linea Very Important Person
    Post
    15,997
    Quote Originariamente inviato da muttley005 Visualizza il messaggio
    Ciao, devo stampare un report su una stampante specifica settabile da programma... in sostanza sono etichette 4,7x3,5.
    Pensavo di poter usare questo:

    codice:
        NomeStamp = "miaEtichettatrice"
        DoCmd.OpenReport "mioReport", acViewPreview, , "mioFiltro", acHidden
        Reports("mioReport").Printer = Application.Printers(NomeStamp)
        DoCmd.OpenReport "mioReport", acViewNormal
    Ma continua a stampare sulla predefinita ... cosa sbaglio?

    M.
    Hai provato così...? (Sostituito PrintOut)

    Oppure:
    codice:
        Dim rpt As Report
        
        Application.Printer = Application.Printers(NomeStamp)
        
        DoCmd.OpenReport "Catalog", acViewPreview, , , acHidden
        Set rpt = Reports!Catalog
        
        With rpt.Printer
            .BottomMargin = 720
            .Copies = 2
            .Duplex = acPRDPVertical 'Double sided
            .PaperBin = acPRBNLargeCapacity
        End With
        DoCmd.OpenReport "Catalog", acViewNormal
        DoCmd.Close acReport, "Catalog", acSaveNo
        
        Set Application.Printer = Nothing
    @Alex
    Il CROSSPOST è VIETATO
    Mirror al vecchio sito WEB(salvare i Demo riassegnando l'estensione (.Zip/.Rar/.Exe in base all'icona...):
    http://mirror.masterdrive.it/alessandrobaraldi/
    Leggi il
    Regolamento del Forum e nel comprenderne la filosofia rispettalo.

  3. #3
    L'avatar di muttley005
    muttley005 non è in linea Scribacchino
    Post
    1,906
    ehm... è piuttosto imbarazzante... tra l'altro è il metodo che normalmente utilizzo...
    scusa.

    posso chiedere come verificare se esiste / è in linea la stampante ? apro nuovo 3D?

  4. #4
    L'avatar di @Alex
    @Alex non è in linea Very Important Person
    Post
    15,997
    Se sesiste ti basta interrogare l'oggetto PRINTERS... è una Collection... se accedendo con il Nome ottieni errore probabilmente non c'è.
    Per sapere se è in Linea, di solito si esegue un PING all'indirizzo IP.

    Per Pingare ci sono vari modi... WMI o API...

    codice:
    Public Function sPing(sHost) As String
    
    Dim oPing As Object, oRetStatus As Object
    
    Set oPing = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery _
      ("select * from Win32_PingStatus where address = '" & sHost & "'")
    
    For Each oRetStatus In oPing
        If IsNull(oRetStatus.StatusCode) Or oRetStatus.StatusCode <> 0 Then
            sPing = "timeout" 'oRetStatus.StatusCode
        Else
            sPing = sPing & vbTab & oRetStatus.ResponseTime & Chr(10)
        End If
    Next
    End Function
    Oppure API
    https://www.ozgrid.com/forum/forum/h...a-cell?t=80630

    http://vbnet.mvps.org/code/internet/ping.htm

    http://vbnet.mvps.org/code/internet/pingbyhostname.htm
    @Alex
    Il CROSSPOST è VIETATO
    Mirror al vecchio sito WEB(salvare i Demo riassegnando l'estensione (.Zip/.Rar/.Exe in base all'icona...):
    http://mirror.masterdrive.it/alessandrobaraldi/
    Leggi il
    Regolamento del Forum e nel comprenderne la filosofia rispettalo.

  5. #5
    L'avatar di muttley005
    muttley005 non è in linea Scribacchino
    Post
    1,906
    aiuto ... ho fatto l' EN PLEIN ... sulla collection decisamente potevo arrivarci.
    per il resto grazie... direi che MI RITIRO in profonda riflessione ...

    M.

+ Rispondi al Thread

Permessi di invio

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