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

Discussione: Stampare doc Word con preferenze di stampa da Access

  1. #1
    follegot non è in linea Novello
    Post
    33

    Stampare doc Word con preferenze di stampa da Access

    Ciao a tutti.
    Tempo fa ho ottenuto supporto dal forum per mandare in stampa un documento Excel, facendo click su un pulsante in una maschera di Access. Questo era il codice:
    codice:
    Private Sub Comando110_Click()
    Dim xlApp, xlBook As Object
        Set xlApp = CreateObject("Excel.Application")
        Set xlBook = xlApp.Workbooks.Open("MioFile.xlsx")
        xlBook.Sheets(1).PrintOut Copies:=10
        xlBook.Close SaveChanges:=False
        xlApp.Quit
        Set xlBook = Nothing
        Set xlApp = Nothing
            End Sub
    Ora mi trovo sostanzialmente a dover eseguire la stessa operazione mandando in stampa un documento di Word. Provo ad adattare il codice nel seguente modo:
    codice:
    Private Sub Comando111_Click()
    Dim xlApp, xlBook As Object
        Set xlApp = CreateObject("Word.Application")
        Set xlBook = xlApp.Workbooks.Open("MioFile.docx")
        xlBook.Sheets(1).PrintOut Copies:=20
        xlBook.Close SaveChanges:=False
        xlApp.Quit
        Set xlBook = Nothing
        Set xlApp = Nothing
            End Sub
    Ma ottengo un messaggio di errore. Evidentemente ci deve essere dell'altro; dov'è che sbaglio?
    Grazie se potrete aiutarmi.
    Ultima modifica di follegot; 15-05-2019 15:24 

  2. #2
    OsvaldoLaviosa non è in linea Topo di biblioteca
    Luogo
    Conversano
    Post
    2,904
    Credo che xlBook.Sheets sia un concetto strettamente legato a Excel che non trova riscontro in Word. È su quella riga che ti dà errore?
    Ditemi i campi di tutte le vostre tabelle.

  3. #3
    Phil_cattivocarattere non è in linea Scribacchino
    Luogo
    Verona-Mantova
    Post
    1,612
    Quote Originariamente inviato da follegot Visualizza il messaggio
    Ma ottengo un messaggio di errore. Evidentemente ci deve essere dell'altro; dov'è che sbaglio?
    Sbagli dove viene segnalato l'errore e per il motivo descritto dall'errore (posso solo immaginare qual è visto che non lo hai precisato)
    Workbooks e Sheets non fanno parte del modello ad oggetti di Word.
    Usa l'earlybinding in prima battuta e aggiungi ai riferimenti la libreria di word; l'intellisense, il visualizzatore oggetti e la guida in linea e/o la documentazione di Microsoft sono lì per colmare i tuoi vuoti.

  4. #4
    follegot non è in linea Novello
    Post
    33
    Grazie per la pronta risposta.
    Il debug evidenzia questo errore:
    Set xlBook = xlApp.Workbooks.Open("MioFile2.docx") con la dicitura "Errore di runtime 438: proprietà o metodo non supportati dall'oggetto"

    Ho anche provato con una macro, con la speranza di convertirla in codice (per capirlo), ma se scelgo "stampa oggetto" non ho la possibilità di impostare preferenze di stampa, e se scelgo solo "stampa" ottengo la stampa della maschere del DB.

  5. #5
    L'avatar di @Alex
    @Alex non è in linea Very Important Person
    Post
    15,909
    Intanto stai facendo le cose a "scimmietta" senza nemmeno aver capito cosa stai facendo... tant'è che operi su Oggetti di EXCEL come logica di COPIA/INCOLLA di codice per te OSCURO.

    Ti invito a ragionare sulle cose....

    Questo banalmente è il CODICE BASE per aprire e stampare:
    codice:
    Dim objWord  As Object
    Set objWord = CreateObject(“Word.Application”)
    Set objDoc = objWord.Documents.Open(“C:\NomeDocumento.docx”)
    objWord.PrintOut ' Verifica il Metodo Printout come Parametri...
    objWord.Quit
    Set objWord=nothing
    Devi leggere però bene questo da applicare poi a Printout:
    https://docs.microsoft.com/en-us/off...ument.printout
    @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.

  6. #6
    follegot non è in linea Novello
    Post
    33
    Hai ragione Alex, è proprio vero. Opero scimiettando il codice OSCURO nella speranza di venirne fuori da solo. A volte ci riesco, a volte no. Metto mano a queste cose una, forse due volte l'anno e quando lo faccio non ricordo come ero arrivato alle conclusioni precedenti. Voi siete attivi costantemente su questo argomento, che diventa di vostra sempre maggiore padronanza, forse come per noi profani il nostro lavoro.
    Grazie infinite per le tue dritte che definisci banali (per me non lo sono per niente). Domani mi rimetto sotto di nuovo, confidando in un buon esito.
    Grazie di nuovo a tutti, anche per la tirata d'orecchi.

+ Rispondi al Thread

Permessi di invio

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