Newsgroup: it.comp.appl.access
Titolo: [Word] Stampa unione

Da una maschera, cliccando su un pulsante, voglio lanciare un file di 
word che ha come origine dati una query presente in un database di 
Access. Come base di partenza ho approfittato della general047 
pubblicata su 
www.sitocomune.com
 di Federico Luciani. Avevo pensato a 
una soluzione di questo tipo sostituendo la parte compresa in With 
WordApp con
Naturalmente non funziona dato che ho letteralmente tirato a 
indovinare. Avete qualche suggerimento?
Private Sub cmdWord_Click()
    Dim wordApp As Object
    Dim wordDoc As Object
    Dim MailMerge as Object
    Dim blOpen As Boolean
    On Error Resume Next
    blOpen = True
    Set wordApp = GetObject(, "Word.Application")
    If Err.Number = 429 Then
        Set wordApp = CreateObject("Word.Application")
        blOpen = False
        Err.Number = 0
    End If
    On Error GoTo gestErrori
    Set wordDoc = wordApp.Documents.Open(c:\path\wordfile.doc)
    With wordApp
      With ActiveDocument.MailMerge
    	    	.Destination = wdSendToPrinter
    	    	.Execute
    	End With
    End With
    If Not blOpen Then
        wordDoc.Close savechanges:=False
        wordApp.Application.Quit
    End If
esci:
    Set wordDoc = Nothing
    Set wordApp = Nothing
    Exit Sub
gestErrori:
    MsgBox Err.Number & " - " & Err.Description
    GoTo esci
End Sub
 

Da una maschera, cliccando su un pulsante, voglio lanciare e 
stampare automagicamente un file di word, avente come origine dati 
una query presente in un database di Access. Come base di partenza ho 
approfittato della general047 pubblicata su 
www.sitocomune.com
 di 
Federico Luciani. Avevo pensato a una soluzione di questo tipo 
sostituendo la parte compresa in With WordApp con
With ActiveDocument.MailMerge
.Destination = wdSendToPrinter
.Execute
End With
Naturalmente non funziona (ho letteralmente tirato a indovinare). 


"massimo" <n...@send.invalid> ha scritto nel messaggio
news:Xns933CED27...@news.inwind.it...

Da un messaggio di Sergio Mazza, questo è un esempio di codice per aprire un
documento word e stamparne il contenuto:
Sub ApriWordperStampare()
Dim oApp As Word.Application
Set oApp = CreateObject("Word.Application")
'apro il documento
oApp.Application.Documents.Open "d:\documenti\NomedelDocumento.doc"
'se voglio vedere word
oApp.Visible = True
'la prossima riga stampa tutte le pagine
oApp.ActiveDocument.PrintOut
'chiudo word
oApp.Quit
Set oApp = Nothing
End Sub
Perché il tutto ti funzioni devi aggiungere al tuo database i riferimenti
alla libreria Microsoft Word.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 riferimenti alla libreria Microsoft Word.
Grazie.
Dimenticavo, come a mio solito, di inserire i riferimenti alla 
libreria utilizzata. BTW, avevo trovato diversi esempi su google 
http://groups.google.it/groups?hl=it&lr=&ie=UTF-8&oe=UTF-
8&q=with+mailmerge+open+wdsendtoprinter+access
Sono riuscito a raggiungere una soluzione che funziona solo una 
volta. Se clicco piů volte sul pulsante ottengo l'errore
  462 - il computer server remoto non esiste o non č disponibile
Temo dipenda dal fatto che strada facendo word perde il filo... il 
focus volevo dire.
Sub Comando2_Click()
Dim wordApp As Object
    Dim wordDoc As Object
    Dim blOpen As Boolean
    On Error Resume Next
    blOpen = True
    Set wordApp = GetObject(, "Word.Application")
    If Err.Number = 429 Then
        Set wordApp = CreateObject("Word.Application")
        blOpen = False
        Err.Number = 0
    End If
    On Error GoTo gestErrori
    Set wordDoc = wordApp.Documents.Open("C:\1.doc")
    With wordApp
      .Visible = True
      .Activate


   462 - il computer server remoto non esiste o non è disponibile

Ho imparato per esperienza a diffidare delle  routine che usano:
On Error Resume Next
In caso di errore vanno avanti nell'esecuzione del codice e si è fortunati
se non creano guai seri.
Altre volte mi è capitato di sentire che in versioni diverse di Access il
numero errore è diverso, con tutte le conseguenze del caso.
